오늘은 Spring Boot 와 데이터베이스인 mysql을 연결하는 방법에 대해 알아보자 🙂
필자의 경우 mysql을 사용하면서 Sequel Ace 라는 MySQL/MariaDB 데이터베이스 작업을 위한 Mac 데이터베이스 관리 애플리케이션을 사용할 예정이다. 사용에 익숙치 않다면 mysql workbench를 이용해 DB 작업에 조금 더 편의성을 갖춰서 작업하도록 하자.
시작하기전, 아래 사항들을 충분히 숙지해두자.
0. Mysql 설치 및 사용
https://itstudy402.tistory.com/12
맥 OS 에서 MySql 사용하기
맥 OS에서 MySql 사용하는 방법을 알아보도록 하겠습니다. MySql은 정말 많은 사람들이 사용하는 DB인 것 같습니다. 이제 시작하는 초보 개발자분들부터 상급 개발자까지 폭넓게 사용하고 있습니다.
itstudy402.tistory.com
1. Sequel Ace 간단한 사용법
🍎 Mac 데이터베이스 앱 : Sequel Ace 사용 방법 🍎
Sequel Ace는 MySQL 및 MariaDB 데이터베이스 작업을 위한 Mac 데이터베이스 관리 애플리케이션이다. 업무를 할때 자주 사용하는 애플리케이션인데 개인적으로는 편리하다. Sequel Ace 다운링크 데이터 베
da-young.tistory.com
2. mysql workbench 간단한 사용법
https://velog.io/@coreminw/MySQL-Workbench-%EC%82%AC%EC%9A%A9%EB%B0%A9%EB%B2%95
MySQL Workbench 사용방법
워크벤치 사용방법 간단정리!0번째: 사전에 DB설계서를 작성해놓아야한다첫번째: 워크벤치를 실행한다두번째: Local instance 3306에 접속한다 (클릭하면 패스워드가 뜰텐데.. 입력하면 됨 ㅎㅎ..)세
velog.io
3. mysql server 실행
% mysql.server start // mysql 사용을 위해 터미널에서 항상 서버를 키는것을 잊지말자 !
서버를 실행한 후에 Sequel Ace를 통해 로컬로 서버를 접속한 후 DateBase Name을 study 라는 이름으로 생성하였다.
(option + shift + A)
: db 생성 커맨드
후에 작업하게될 Spring Boot에서 간단한 회원정보 입력을 받기위해 테이블을 생성할 것인데 구조는 아래와 같다.
CREATE TABLE user (
id int NOT NULL AUTO_INCREMENT,
email varchar(255) DEFAULT NULL,
name varchar(255) DEFAULT NULL,
rog_date datetime DEFAULT NULL,
mod_date datetime DEFAULT NULL,
PRIMARY KEY (id)
);
중요한점은 id 값이 PRIMARY KEY로 데이터를 입력받는 것이 아닌 자동증가 할것이기 때문에 AUTO_INCREMENT 를 꼭 설정해주도록 하자. 여기서 AUTO_INCREMENT 를 설정하지 않는다면 나중에 이노테이션으로 id 값을 자동증가로 설정한다해도 테이블 내에서의 자동증가가 설정되지 않았다면 바로 오류가 나버리기 때문이다. 사실 필자도 이 문제가 발생해서 오류코드를 찾아보면서 수정했었다 ...
study라는 table을 생성 후 아래와 같은 창이 뜬다면 성공이다 !
이제 테이블까지 완성하였으니, Spring Boot와 Mysql을 연동해보도록 하자. 첫번째로 할것은 의존성(dependencies)를 추가해줘야한다. 1편에서 다룬 폴더구조에서 bulid.gradle 라는 파일로 들어가보면 dependencies 라는 필드가 있는데 이 안에서 사용하려하는 dependencies를 추가해주면 된다. 우리는 Mysql 을 사용해야하기 때문에 아래 코드를 추가해주면 된다.
implementation 'mysql:mysql-connector-java'
그 후 커맨드를 이용해 " Shift + cmd + I " 로 gradle의 변경된 내용을 로드 해주면 알아서 mysql을 추가해서 빌드해준다.
이제 내가 만들고있는 프로젝트 안에 mysql을 사용할 수 있게 만들었으니, 내 로컬 서버와 연결을 시키면 된다.
resources 항목에 application.properties 라는 파일 안으로 들어가게 되면 처음에는 아무것도 입력되어 있지 않는데 이 부분에 내 mysql local 서버를 연결시켜주면 된다. 연결 시키는 법은 간단하게 아래 코드들을 적으면 된다.
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/study?characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=<자신이 설정한 mysql local 비밀번호>
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.format_sql=true
url 부분에서 우리는 localhost:<포트번호>/<사용할DBname> 부분만 잘 입력해주면 정상적으로 연결이 될 것이다.
password는 mysql 를 설치하고 처음 접속시 비밀번호를 설정할때 해둔 비밀번호를 입력하면 된다.
이렇게 spring boot 와 mysql 을 연동하는 세팅은 끝났으며, 다음은 간단하게 회원정보를 입력 받아보도록 하자 😉
'모험가의 Spring > Spring' 카테고리의 다른 글
Spring을 이용한 CRUD 구현_Create (0) | 2022.07.26 |
---|---|
Spring 기초 : SpringDataJpa 사용하기 (0) | 2022.07.20 |
Spring 기초 : 간단한 회원정보 입력받기 + MYSQL + JPA (0) | 2022.07.17 |
Spring 기초 : controller를 이용한 간단한 데이터 주고받기 (0) | 2022.07.16 |
Spring 공부에 들어가기전에 (1) | 2022.07.16 |