[스프링 JPA 1편] 1 - (1) 프로젝트 생성
* Mac사용, Java17 사용
* 진도 : 섹션1
* : 자바 클래스명, : 코드, : 단축키
1. Open JDK11 설치
Archived OpenJDK GA Releases
Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK are provided to he
jdk.java.net
JDK 다운로드 후 압축풀기
방법 1) Finder 앱 실행 → 상단에 이동 - 컴퓨터 → Macintosh HD - 라이브러리 - Java - JavaVirtualMachines → 내가 다운로드한 버전의 JDK 파일 해당 폴더에 넣기
방법 2) Finder 앱 실행 → 상단에 폴더로 이동 → library 검색 - Java - JavaVirtualMachines → 내가 다운로드한 버전의 JDK 파일 해당 폴더에 넣기
< 만약 자바가 버전이 여러개라면? >
아래 블로그를 참고해주세요
https://ifuwanna.tistory.com/247
[MacOS] Java(JDK) 버전 변경 하기
맥북이나 아이맥같은 MacOS에 여러 버전의 JAVA(JDK)가 설치 되어 있을 경우 아래 설정을 통해 원하는 버전을 기본으로 설정 할 수 있습니다. 1. java -version 명령어를 통해 먼저 사용중인 Java 버전을
ifuwanna.tistory.com
2. IntelliJ 환경 설정
<환경설정 1>
command + , 클릭 → [ Build, Execution, Deployment - Build Tools - Gradle - Build and Run ] 에서 Gradle 로 설정
<환경설정 2>
command + ; 클릭 → [ Project Settings - Project - SDK ] 에 내가 설치한 자바 버전으로 설정
<환경설정 3>
command + ; 클릭 → annotation 검색 후 Enable annotation processing 체크
< 환경설정 4 >
build.gradle에서 dependencies 마지막에 Unit4 부분 추가하기
testImplementation("org.junit.vintage:junit-vintage-engine") {
exclude group: "org.hamcrest", module: "hamcrest-core"
}
< 환경설정 5 >
쿼리 파라미터 로그 남기기위해 build.gradle에서 dependencies에 코드 추가
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
3. 스프링 프로젝트 생성
https://start.spring.io 클릭 → 아래와 같이 설정 → 나머지는 강의를 참고해주세요
4. H2 설치
https://www.h2database.com 경로에서 다운받아 압축풀고 터미널에서 아래와 같이 입력
< 파일 경로 입력 방법 >
터미널 창에 cd라고 입력 후 나머지 경로는 원하는 폴더를 그대로 드래그해서 옮겨놓으면 자동으로 경로가 붙여넣기 됩니다
< 권한 설정 >
./h2.sh 해도 실행이 안된다면 chmod~ 코드를 이용해 권한을 허용해 줍니다
5. H2 실행
1. url에서 8082 앞부분만 localhost: 로 변경
2. 처음엔 아래와 같은 JDBC URL로 연결하고 그 다음부터는 jdbc:h2:tcp://localhost/~/jpashop로 설정해 접속
3. ~/jpashop.mv.db 파일이 제대로 생성되었는지 확인 ( 파일 저장 경로 = C:\Users\사용자명 )
5. JPA와 DB 설정 (띄어쓰기 중요)
Spring:
datasource:
url: jdbc:h2:tcp://localhost/~/jpashop
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
format_sql: true
- H2 DB 접근 Spring: datasouce: ~
- jpa 설정 ddl-auto create ~
- 엔티티로 등록된 클래스를 보고 기존 테이블을 삭제(drop)하고 매핑되는 테이블을 자동으로 생성(create)
- ddl-auto 란?
엔티티만 등록하면 DDL을 자동으로 작성하여 테이블을 생성 또는 수정해주는 기능
5가지 종류
- create / create-drop / update / validate / none(default)
ddl-auto 주의 사항
validate와 none을 제외한 속성 create나 create-drop는 DB에 연결해 애플리케이션을 실행해버리면 운영 DB의 테이블이 모두 삭제될 수 있기 때문에 DB에는 사용하면 안된다
update 또한 not null 칼럼을 추가할 경우 변경사항이 반영되지 않은 버전을 배포하게 되었을 때 테이블에 데이터가 INSERT 되지 않으므로 비추천한다
ddl-auto 속성은 테스트 환경에서는 분명히 편리한 기능이 맞지만 운영 서버에서는 사용 안하는게 좋다
logging:
level:
org.hibernate.SQL: debug
# org.hibernate.orm.jdbc.bind: trace
# 스프링 부트 3.x, hibernate6
- 콘솔에서 SQL 확인 org ~ debug
[출처] 김영한 강사님 인프런 스프링 JPA 1편
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 강의
실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., 스프
www.inflearn.com