이전에도 스프링부트랑 연결한게 있으나,
프론트를 만들고오니 다시 연결부터 해야하는 상황이 생겨버렸다 ^ㅡ^
그리하여 다시 Docker를 통해서 mysql-container 을 만들고
만들어진 container 를 MySQL에 연결하고자 한다.
0. 일단 Docker 와 MySQL이 다운 받아져 있어야한다.
- Docker 와 MYSQL workbench 설치하고 오기
- cmd 창에서 mysql 설치하기.
docker pull mysql:8.0
1. Docker 를 통해서 Container 만들기
① cmd 창을 킨 후 container 만들어주기
- mysql-container 에 쓰고 싶은 이름하면 도미
- MYSQL_ROOT_PASSWAORD > root password 입력해주기
docker run --name [mysql-container] -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:8.0
② 실행 중인 컨테이너 접근하여 SQL 실행 코드
docker exec -it todoapp-mysql mysql -u root -p
2. MYSQL Workbench 접속
① 먼저 connetions 를 만들기 위해 + 버튼 눌러주기
② 연결 해주기. TestConnection 통해서 오류 없이 돌아가는 거 확인하기 > 그후 OK 눌러주면 됨.
③ 만들어진 Connetions 더블클릭
④ SQL 파일 추가 후, 코드 작성을 해준 뒤에 번개모양(실행) 해주기
CREATE database todoapp;
CREATE TABLE todos (
id INT AUTO_INCREMENT PRIMARY KEY,
task_name VARCHAR(255) NOT NULL
);
CREATE TABLE completed (
todo_id INT PRIMARY KEY,
completed BOOLEAN DEFAULT FALSE,
FOREIGN KEY (todo_id) REFERENCES todos(id) ON DELETE CASCADE
);
SELECT * From todos;
SELECT * FROM completed;
⑤ 들어가서 왼쪽 Navigator 보면 schmas 를 통해 현재 DB를 볼 수 있음. 근데 오른쪽에있는 돌아가는 버튼 눌러줘야지 반영됨. (todoapp 있으면 성공)
3. Spring Boot 파일과 MySQL 연결
파일 두가지를 수정해줘야함.
① appliction.properties 파일 수정
src/main/resources/appliction.properties 파일 찾아가서 아래와 같이 수정.
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/todoapp
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
주의해야할 것이
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/todoapp
todoapp 이 DB랑 똑같아야함.
근데 이게.. sql connetion 이름인지, 아니면 DB이름인지는 모르겠음. 본인은 둘다 똑같아서 연결되긴함.
② build.gradle 파일 찾아서 repositories와 dependencies 수정하기
repositories {
mavenCentral() // Maven Central 리포지터리 추가
}
dependencies {
implementation 'mysql:mysql-connector-java:8.0.28'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
developmentOnly 'org.springframework.boot:spring-boot-docker-compose'
testImplementation 'org.springframework.boot:spring-boot-starter-test' // Spring Boot에서 JUnit을 기본적으로 지원
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' // JUnit 5 사용 시 추가
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
③ 수정했으면 일단 gradle 동기화 해줘야함. 동기화 누른 후에 다운로드도 해주기.
④ application.properties 입력시, DB 입력칸에 아이콘이 생김. 그거 클릭해서 비밀번호 입력하면 오른쪽 DB란에 연결된 걸 볼 수 있음.
'프로젝트 > ToDoApp프로젝트-Spring' 카테고리의 다른 글
[ToDoApp] REST API 개념 (0) | 2025.01.05 |
---|---|
[To Do App] 프론트엔드 개발 환경 (1) | 2025.01.02 |
[To Do App] 개발환경 설정 - 백엔드 개발환경 (2) | 2025.01.02 |
[To Do App] 프로젝트 설계 (0) | 2025.01.02 |