안녕하세요 【키보드맨】
친애하는 블로그 방문자 여러분, 저는 안경 세척제입니다.
오늘은 웹 서버를 Mysql에 연결합니다.
1. MySQL 설치 및 연결 확인
MySQL을 설치한 후 다음과 같이 연결 상태를 확인합니다. 설치 시 설정한 비밀번호는 잊어버리지 않도록 별도로 작성해야 합니다.
$ mysql --version
mysql Ver 8.0.32 for macos13 on x86_64 (MySQL Community Server - GPL)
위와 비슷한 콘솔 응답을 받아야 합니다. 그렇지 않은 경우 PATH를 구성해야 합니다.
경로 설정은 간단합니다.
인용하다. https://signature95./27
2. MySQL 데이터베이스 설정
MySQL에 로그인하고 다음과 같이 데이터베이스를 봅니다.
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 67
Server version: 8.0.26 MySQL Community Server - GPL
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| test |
+--------------------+
6 rows in set (0.00 sec)
테스트 데이터베이스를 사용할 것이므로 다음을 선택합니다.
mysql> use test;
//create test;
//없다면 아래처럼 만들어주세요
3. 스프링 부트 구성
MySQL 데이터베이스에 연결하기 위해 Application.properties 파일을 다음과 같이 설정합니다.
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username= 유저아이디
spring.datasource.password= 유저비밀번호
spring.jpa.show-sql=true
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
localhost:3306은 mysql 로컬 호스트 번호입니다.
pom.xml 파일도 구성합니다.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.24</version>
</dependency>
잘 되었는지 확인해볼까요?
4. MySQL 테이블 생성
이제 Java 코드로 작성된 @Entity 주석을 사용하여 MySQL에서 todolist 테이블을 생성합니다. todolist 테이블은 테스트 데이터베이스에 생성되어 있어야 합니다.
package com.myself.todolist;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.time.LocalDate;
@Entity
@Table(name = "todolist") // 테이블 이름
public class ToDoList {
@Id
@GeneratedValue
private long id; // id 값 부여
@NotNull // 빈값 X
private LocalDate date;
@NotNull // memo size 지정
@Size(min = 1, max = 50)
private String memo;
public ToDoList() {
// 기본 생성자
}
public ToDoList(LocalDate date, String memo) {
this.date = date;
this.memo = memo;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public LocalDate getDate() {
return date;
}
public void setDate(LocalDate date) {
this.date = date;
}
public String getMemo() {
return memo;
}
public void setMemo(String memo) {
this.memo = memo;
}
}
pom.xml,
application.properties를 변경하면 다시 실행해야 합니다.
실행하고 터미널 콘솔에 다음 코드를 입력하면,
결과를 볼 수 있습니다!
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| todolist |
| todolist_seq |
+----------------+
이는 MySQL GUI Workbench에서도 확인할 수 있습니다.