[MAC] Spring - Mysql 연동

김민제·2024년 7월 10일

Spring🌱

목록 보기
6/8
post-thumbnail

요즘 소규모 개인 및 팀 프로젝트를 많이 진행하는 것 같은데 환경 설정 과정이 매번 헷갈리는 것 같습니다.. 그래서 환경 설정하는 방법들을 차근차근 정리해보려 합니다!! 먼저 Spring과 데이터베이스를 연결하는 작업부터 해보겠습니다!!

🚨MAC 환경을 기준으로 합니다!!!


데이터 베이스 설정

1. MySQL 설치 및 접근

먼저, 로컬 환경에 데이터베이스가 설치되어있지 않으신 분들은 데이터베이스를 설치합니다. Homebrew를 사용하면 쉽게 설치할 수 있습니다.
지금은 mysql을 기준으로 하지만 프로젝트를 하다가 다른 데이터베이스를 사용할 일이 생기면 다른 데이터베이스 설치 및 설정 방법도 가져오겠습니다!!

brew install mysql
brew services start mysql

설치 후, MySQL에 접근합니다.

mysql -u root -p

2. 데이터베이스 생성 및 권한 부여

MySQL에 접속한 후, 필요한 데이터베이스를 생성하고 사용자에게 권한을 부여합니다!!

CREATE DATABASE my_database;
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON my_database.* TO 'my_user'@'localhost';
FLUSH PRIVILEGES;

3. 사용 중인 데이터베이스 전환

생성한 데이터베이스를 사용하도록 전환합니다.

USE my_database;

Spring 설정

1. Spring Boot 프로젝트 설정

Spring Boot 프로젝트의 application.properties 파일에 데이터베이스 정보를 추가합니다.

application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/my_database
spring.datasource.username=user
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.show-sql=true
  • spring.datasource.url : MySQL 서버의 포트인 3306을 포함한 로컬 URL과 위에서 생성한 데이터베이스의 이름을 넣어줍니다!!
  • spring.datasource.username : 위 데이터베이스를 생성했을 때 설정한 사용자 이름입니다!
  • spring.datasource.password : MySQL 사용자 비밀번호.
  • spring.jpa.hibernate.ddl-auto : 우선 테이블이 잘 만들어지는지 테스트를 해보기 위해 create-drop으로 설정하여 애플리케이션 종료 시 테이블을 삭제하도록 합니다.
  • spring.jpa.show-sql : 콘솔에서 실행된 SQL 쿼리를 확인하기 위해 true로 설정합니다!

5. JPA Hibernate 엔티티 작성

Spring Boot에서 JPA를 사용하여 엔티티를 작성합니다.

src/main/java/com/example/demo/Test.java

package com.example.demo;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Test {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private int age;
}

Spring Boot 애플리케이션을 실행하면, JPA가 데이터베이스에 테이블을 생성합니다. 터미널 로그에서 테이블 생성 로그를 확인할 수 있습니다!!

  • 터미널 mysql에서도 확인할 수 있습니다!!

Spring Boot 애플리케이션이 종료되면 create-drop 설정 덕분에 테이블이 자동으로 삭제됩니다.

이로써, Mac에서 Spring과 MySQL을 연동하고 JPA Hibernate를 사용하여 테이블을 생성하고, 테스트까지 해보았습니다!!!

profile
블로그 이전했습니다!! 👉 https://alswp006.github.io/

0개의 댓글