본문 바로가기

728x90
반응형

개발일기

(94)
JS_EXCEL 다운로드 excel - excel 버튼을 누르면 onclick에 의해 excel() 함수를 호출하고있다. //excel 셋팅팅 function excelInit(fileName, sheetName, sheetHtml){ var html = ''; html += ''; html += ' '; html += ' '; // ----------------- 시트 내용 부분 ----------------- html += sheetHtml; // ----------------- //시트 내용 부분 ----------------- html += ' '; html += ''; // 데이터 타입 var data_type = 'data:application/vnd.ms-excel'; var ua = window.navigator...
JAVA스터디 3주차 학습내용 : 자바가 제공하는 다양한 연산자를 학습하기. 학습할것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) java 13. switch 연산자 1, 산술 연산자 ## 1-1 산술연산자 JAVA에서 산술 연산자는 기본적인 산술 계산을 수행하는 데 사용되는 연산자들임. 이 연산자들은 숫자 데이터타입(정수,부동소수점 등)을 이용하여 다양한 산술 연산을 수행하는 데에 쓰입니다. 자바에서 제공하는 주요 산술 연산자들은 다음 표와 같음 연산자설명예제 + 두 피연산자를 더함 int sum = 5 + 3; // sum의 값은 8 - 첫 번째 피연산자에서 두 번째 피연산자를 뺌 in..
JAVA스터디 2주차 학습내용 : 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 1, 프리미티브 타입 종류와 값의 범위 그리고 기본 값 타입크기 (비트)값의 범위기본 값 byte 8 -128부터 127까지 0 short 16 -32,768부터 32,767까지 0 int 32 -2,147,483,648부터 2,147,483,647까지 0 long 64 -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807까지 0L fl..
JAVA스터디 1주차 학습내용 : JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. 학습목표: JVM이 무엇인지 학습하고 자바 코드의 실행방법을 이해할 수 있다. JVM(Java Virtual Machine)이 무엇인가? JVM은 Java Virtual Machine, 즉 자바 가상 머신의 약자를 따서 줄여 부르는 용어이다. JVM은 OS와 Java 애플리케이션 사이의 중개자 역할을 한다. JVM은 자바 바이트코드를 실행할 수 있는 환경을 제공해준다. 이를 통해 자바 바이트 코드가 플랫폼에 독립적으로 어디서든 실행될 수 있게 한다. 즉, JVM 덕분에 OS에 상관없이 어디서든 JAVA 애플리케이션을 실행할 수 있게 된다. JVM 구성도 1, Class Loader(클래스 로더) JVM내로 클래스파일(.class)를 로드..
JPA API (엔티티를 DTO로 변환 , DTO로 바로 조회) 엔티티를 DTO로 변환하여 출력(with.fetch join) controller @GetMapping("/api/v3/simple-orders") public Result ordersV3() { List result = or.findAllWithMemberDelivery(); List dto = result.stream() .map(o -> new SimpleOrderDto(o)) .collect(Collectors.toList()); return new Result(dto); } @Data @AllArgsConstructor static class SimpleOrderDto{ private Long orderId; private String name; private LocalDateTime order..
JPA 기본 빌더패턴 (@Builder) 빌더패턴에 장점 불필요한 생성자의 제거 데이터의 순서에 상관없이 객체생성 가능 명시적 선언으로 이해하기가 쉽고 각 인자가 어떤 의미인지 알기 쉽다.(가독성) setter 메서드가 없으므로 변경 불가능한 객체를 만들수있다.(객체불변성) 한번에 객체를 생성하므로 객체 일관성이 깨지지 않는다. build() 함수가 null인지 체크해주므로 검증이 가능한다. (안그러면 set하지않은 객체에대해 get을 하게되는경우 nullPointerExcetpion발생 등등의 문제가 생김) ex) @Builder public class Person { private String name; private int age; private int phone; } Person person = Person...
QueryDsl 집합(count, sum, avg, max, min, groupBy) QueryDsl이 제공하는 집합(count, sum, avg, max, min, groupBy) 에 대해서 알아보겠습니다. 예제1) @Test public void aggregation(){ QMember qmember = QMember.member; List result = queryFactory .select( qmember.count(), qmember.age.sum(), qmember.age.avg(), qmember.age.max(), qmember.age.min() ) .from(qmember) .fetch(); Long total = result.get(0).get(qmember.count()); int sum = result.get(0).get(qmember.age.sum()); doubl..
QueryDsl페이징 처리 QueryDsl에서의 페이징 처리에 대한 2가지 방법을 사용 해봤다. 예제1) @Test public void paging1(){ QMember qmember = QMember.member; List result = queryFactory .selectFrom(qmember) .orderBy(qmember.username.desc()) .offset(1) .limit(2) .fetch(); } - 첫번째 방법은 offset 과 limit 을 이용하여 해당 테이블에서 데이트 리스트를 조회 하는 예제이다. 예제2) @Test public void paging2(){ QMember qmember = QMember.member; QueryResults memberQueryResults = queryFactory..

728x90
반응형