Spring(14)
-
GenerationType
GenerationType 4가지 IDENTITY 기본 키 생성을 데이터베이스에 위임 DB가 알아서 AUTO_INCREMENT @GeneratedValue(strategy = GenerationType.IDENTITY) SEQUENCE 데이터베이ㅅ의 Sequence Object 사용 DB Sequence는 유일한 값을 순서대로 생성하는 데이터베이스 오브젝트 DB가 자동으로 숫자를 generate @SequenceGenerator 필요 @GeneratedValue(strategy = GenerationType.SEQUNCE) TABLE 키 생성 전용 테이블을 하나 만들어서 데이터베이스 시퀀스를 흉내내는 전략 @TableGenerator 필요 @GeneratedValue(strategy = Generatio..
2023.03.31 -
Spring_Entity, DTO, VO
Entity 실제 DB 테이블과 매핑되는 핵심 클래스 DB의 테이블에 존재하는 컬럼들을 필드로 가지는 객체 (테이블이 가지지 않는 컬럼을 필드로 가지면 안됨) DB 영속성의 목적으로 사용되는 객체 Request, Response 값을 전달하는 클래스로 자용하는것은 지양해야함 JPA를 사용시 실제 dB와 관련된 중요 역할 담당 @Builder @Getter @Entity @NoArgsConstructor public class Membmer { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long idx; private String name; private String email; public Member(Long idx, String ..
2023.03.22 -
Spring_MySQL 연결_gradle
1. 의존성 찾기 https://mvnrepository.com/artifact/com.mysql/mysql-connector-j/8.0.32 2. build.gradle에 의존성 추가 3. application.yml spring: # MySQL datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: ${mysql.url} username: ${mysql.username} password: ${mysql.password} 4. ENV 파일 작성 # Mysql mysql.url=jdbc:mysql://url:포트/DB이름?serverTimezone=UTC&characterEncoding=UTF-8 mysql.username=아이디 mysql.passw..
2023.03.22 -
Spring_tinyLog
java 플랫폼에서 동작하는 로깅 프레임워크 JVM, Android 등에서 동작이 가능 장점 1. 높은 성능 2. 쉬운 사용성 3. 간단한 설정 4. 다양한 로깅 레벨 - trace, debug, info, warn, error레벨 로그 지원 5. 로그 메시지 포멧 지원 6. 다양한 로그 출력 대상 단점 1. Spring Framework에 의존성 2. 유연성 부족 사용법 1. build.gradle dependencies { //tinylog implementation 'org.tinylog:tinylog-api:2.2.1' implementation 'org.tinylog:tinylog-impl:2.2.1' } 2. application.properties # Log level logging.leve..
2023.03.09 -
Spring_JPA_페이지네이션
1. DTO import lombok.*; @Getter @Setter @Builder @AllArgsConstructor @NoArgsConstructor public class PagenationDto { private int start; private int num; } 2. Controller List gameMapper = userGameService.myGameInfo(pagenationDto.getStart(),pagenationDto.getNum(),userEmail); 3. Service public List myGameInfo(int start, int num, String userEmail){ return gameRepository.getUserGames(PageRequest.of(s..
2022.12.28 -
Spring_env 파일 설정
1. .gitignore 설정 ### env ### !**/properties/ env.properties 2. Spring에서 설정 @Configuration @PropertySources(@PropertySource("classpath:properties/env.properties")) //env.propoerties 파일 소스 등록 public class EnvConfig { } 3. env.properties 생성 # env.properties # Mysql mysql.url=jdbc:mysql://url:포트/DB이름?serverTimezone=UTC&characterEncoding=UTF-8 mysql.username=아이디 mysql.password=비밀번호 4. 사용 # applicatio..
2022.12.28