📢 장정우님이 지음,
[스프링부트 핵심가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무] 책을 읽고 정리한 글입니다.
책에서는 마리아DB를 사용하지만 스터디에서 MySQL를 사용하기로 했으므로 설정 부분을 수정을 했습니다.
로컬 환경에서 돌릴 MySQL DB가 필요한데요, 이번 코스에서는 로컬에서 진행합니다.
중요!!: MySQL 을 설치하면서 Root Password를 물어보는 경우, 설정했을 때 다음 단계에서 사용해야하니 꼭 저장해둡시다.
MySQL 에 있는 데이터를 쉽게 보고 다룰 수 있게 해주는 툴 MySQL Workbench입니다.
maven
5장에서 생성한 방식과 동일합니다.
build.gradle
build.gradle
파일 안에 아래 dependency를 추가하고 오른쪽 위 코끼리 아이콘을 누르시면 해당 library들을 다운받아 설치합니다.
dependencies {
...
//JPA 관련
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.mysql:mysql-connector-j'
implementation 'org.hibernate:hibernate-search:5.11.1.Final'
...
}
src/main/resources/application.properties 내에 방금 설치한 MySQL 접속정보를 추가해야 프로젝트에서 DB와 연결됩니다.
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/<스키마 이름>
spring.datasource.username=root
spring.datasource.password=<위에서 저장해둔 Root Password 입력>
spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
운영 환경에서는 create, create-drop, update 기능은 사용하지 않는다. 데이터베이스에 축적된 데이터를 지워버릴 수도 있고, 사람의 실수로 객체의 정보가 변경됐을 때 운영 환경의 데이터베이스 정보까지 변경될 수 있기 때문이다. 운영 환경에서는 대체로 validate나 none을 사용한다. 반면 개발 환경에서는 create 또는 update를 사용하는 편이다.