TIL SERVER DB라는 이름의 Database를 만들기 위해 root 계정 아이디와 비밀번호를 입력하고 Test Connection 버튼을 눌러본다. 성공 시 OK 버튼을 누르면 생성됨! 해당 DB의 Query Console을 열어 `show databases ;` 쿼리 작성 후 실행하면 생성된 데이터베이스를 확인할 수 있다. 테스트를 위해 til 데이터베이스를 생성한 뒤(`create database til;`) 다시 확인해보면 til 데이터베이스가 생성된 것을 확인할 수 있다. Query문을 작성한다. Member Table에는 PK인 id값이 자동 증가하게 설정하고, 이름과 nickname, part는 문자열, age와 generation은 INT로 설정한다. 이 때 Embedded class였던 SOPT 클래스에 포함되었던 generation과 part를 각 필드에 맞는 자료형으로 선언해준다.Datagrip으로 MySQL Database에 Table 추가하기
create table member
(
id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
nickname VARCHAR(255) NOT NULL,
age INT NOT NULL,
generation INT NOT NULL,
part VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
외래키 member_id가 member 테이블의 id 값을 참조한다는 것을 명시한다.
create table post
(
postId BIGINT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
content TEXT,
member_id BIGINT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (member_id) REFERENCES Member (id) ON DELETE CASCADE
);
SpringBoot에 MySQL 연동
implementation 'mysql:mysql-connector-java:8.0.33'
# MySQL 설정
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306
spring.datasource.username=root
spring.datasource.password=(비밀번호 입력)
API Test
생성 API 설계 및 DB와 연결하기에서 개발한 생성 API를 Dummy Data를 추가해둔 상태로 Postman을 통해 테스트해보자!
DB에 데이터가 안 들어가는 이슈 발생..
해결 예정 . .
참고자료
33기 DO SOPT 서버 파트 3차 세미나 자료(배포 불가)
[MySQL] Datagrip에서 MySQL 연결하기(schema, table, 조회 등)
🧑💻 스프링부트 MySQL 연동하기 📖