Spring + MySQL 연동
개발에 있어 가장 중요한건 아무래도 설정이 아닐까 싶다. 웹 개발을 하기 위해 쓸 백엔드의 Spring과 DB로 사용할 Mysql을 연동하는 기록을 남겨본다.
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/DB명?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.username=아이디
spring.datasource.password=비밀번호
먼저 resourse 폴더 아래의 application.properties에 간단한 설정을 해준다.
위 내용은 mysql 드라이버를 사용하고 url을 설정하며 DB에 접근할 아이디와 패스워드를 설정해주는 코드이다.
중요한 점은.. 사실 다 중요하지만, 두 번째 url을 설정해주는 라인에서 //localhost:3306/DB명 이 부분을 유심히 살펴보자.
처음 Mysql 워크벤치에 들어가면 root Connection과 따로 생성한 Connection이 있다.
난 내가 root 계정으로 관리하는 것이 아닌 따른 계정을 생성해서 관리해주고자 새로운 Connection을 생성해주었다.
아무튼 생성해준 Connection 아래 로컬호스트의 주소가 있다. 그리고 해당 Connection으로 들어가면
내가 만든 프로젝트 DB가 있고 아래에 테이블 user가 생성되어 있다.
바로 이 highbowl이라는 DB가 위에 설정에 들어갈 DB명이다.
따라서 //localhost:3306/highbowl 로 해당 Connection의 username(아이디) 와 패스워드를 통해 접근한다는 의미이다.
뒤의 serverTimezone 및 characterEncording 은 시간대 및 인코더 설정에 관련된 내용이다.
테스트를 위해 간단한 회원 등록 api를 만들고 포스트맨으로 실행에 옮겼다.
위 JSON은 짜놓은 Entity 형식에 맞게 잘 맞춰서 작성해주자. 이런 식으로 포트스맨을 통해 백엔드로 요청을 보내면..
사진이 작..지만 반응이 잘 왔고,
Mysql에도 등록이 잘 된 것을 확인할 수 있다.