본문 바로가기
반응형

개발111

[DBeaver] 기존 DB ERD 추출하기 / ERD 자동 생성 1. ERD 추출하려는 데이터베이스나 스키마, 테이블 우클릭 -> 다이어그램 보기 클릭 2. 엔티티 관계도 탭에 ERD 보여줌, 연관관계도 선으로 표시됨 3. 하단탭을 보면 다양한 기능이 있음 이미지 버튼(1) 클릭 시 png, gif 등의 형식으로 저장 가능 export 버튼(2) 클릭 시 erd 확장자로 저장 가능 4. 설정버튼 (톱니바퀴) 클릭 해서 ERD 설정 가능 5. 특정 테이블의 ERD만 원할 경우 원하는 테이블만 선택 후 우클릭 -> 새 ER 다이어그램 클릭 2022. 1. 21.
[Lombok] @Builder / @Builder.Default / @Singular # 빌더 패턴 복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴 2 단어 요약 : 생성자 오버로딩 (위키백과 참조) @Builder @Builder 어노테이션은 class, 생성자, method에 위치할 수 있다 @Builder가 만들어주는 7가지 1. 내부 정적 클래스(FooBuilder) 2. private 필드(Builder의 각 파라미터에 해당하는 필드, static X, final X) 3. pacakge private(접근제한자:default)의 아규먼트가 없는 빈 생성자 4. Builder의 각 파라미터에 대해, setter와 비슷한 메서드 - 파라미터와 같은 타입, 같은 이름. builder 자신을 반환 5. build() .. 2022. 1. 21.
[클린 코더] 품새 사이트 기록 프로그래머는 무술가처럼 여러 다른 품새를 익히고 규칙적으로 연습해 기억에서 멀어지지 않도록 해야 한다 # 볼링게임 http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata # 인수분해 http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata ArticleS.UncleBob.ThePrimeFactorsKata The Prime Factors Kata Here is a kata for the Prime Factors problem. This is a very short Kata. The final algorithm is three lines of code. Interestingly enough there a.. 2022. 1. 20.
[Lombok] @Data / @ToString / @EqualsAndHashCode / @Getter / @Setter / @RequiredArgsConstructor @Data 아래 5가지 롬복 어노테이션을 축약한 어노테이션 @ToString, @EqualsAndHashCode, @Getter(모든 필드) / @Setter (final 아닌 모든 필드), @RequiredArgsConstructor @ToString toStrig() 메서드를 자동으로 생성해줌. 클래스이름과 필드를 콤마로 구분해서 문자열로 만들어준다 # 지원하는 configuration - includeFieldNames = [true | false] (default: true) fieldName = fieldValue - doNotUseGetters= [true | false] (default: false) true : getter를 이용하지 않고 field에 직접 접근해서 toString() 생성.. 2022. 1. 20.
[JPA] Spring Data JPA - Query Method / 쿼리 메소드 / 간단한 쿼리는 쿼리 메소드 사용하면 편리 동적인 조건으로 조회를 하거나(ex.검색쿼리) 복잡한 쿼리를 해야한다면 Querydsl을 추천 하지만 단순한 crud라면 쿼리 메소드를 이용하면 매우 간단 편리하며 생산성을 올릴 수 있다! 쿼리메소드 키워드 표 Keyword Sample JPQL snippet Distinct findDistinctByLastnameAndFirstname select distinct …​ where x.lastname = ?1 and x.firstname = ?2 And findByLastnameAndFirstname … where x.lastname = ?1 and x.firstname = ?2 Or findByLastnameOrFirstname … where x.lastname = ?1 or x.firstname = .. 2022. 1. 20.
[JPA] Querydsl 조회 결과 DTO에 담는 법 / 예문 1. Projections.bean(dto.class, field1, field2) DTO setter 이용 List dtos = query.select( Projections.bean(UserDTO.class, user.firstName, user.lastName)).fetch(); 2. Projections.fields(dto.class, field1, field2) DTO setter 대신 필드를 직접 사용하는 경우, setter 없어도 됨 List dtos = query.select( Projections.fields(UserDTO.class, user.firstName, user.lastName)).fetch(); 3. Projections.constructor(dto.class, field1.. 2022. 1. 20.