개발노트

2. [Spring Boot] MySQL 연동하기(With JPA) 본문

서버 개발/Spring Boot

2. [Spring Boot] MySQL 연동하기(With JPA)

mroh1226 2024. 4. 15. 11:02
반응형

1. MySQL 연결과 JPA 사용을 위해 아래와 같이 dependency 를 설정해줍니다.

build.gradle

dependency 설정

  1. org.springframework.boot:spring-boot-starter-data-jpa:
    • Spring Data JPA를 사용하여 데이터베이스와 상호 작용하기 위한 스타터 의존성입니다. JPA(Java Persistence API)를 사용하여 객체-관계 매핑(ORM)을 할 수 있게 해줍니다.
  2. org.springframework.boot:spring-boot-starter-web:
    • Spring Web을 위한 스타터 의존성입니다. Spring MVC를 사용하여 웹 애플리케이션을 구축할 수 있게 해줍니다.
  3. mysql:mysql-connector-java:
    • MySQL 데이터베이스와의 연결을 위한 JDBC 드라이버 의존성입니다. Spring Boot 애플리케이션이 MySQL 데이터베이스와 통신할 수 있도록 해줍니다.
  4. org.projectlombok:lombok:
    • 롬복(Lombok)은 자바 코드에서 반복적으로 작성해야하는 보일러플레이트 코드를 줄이기 위한 라이브러리입니다. 주요 기능으로는 @Getter, @Setter, @NoArgsConstructor, @AllArgsConstructor 등의 애너테이션을 사용하여 자동으로 게터/세터 및 생성자를 생성할 수 있습니다.
  5. org.springframework.boot:spring-boot-starter-test:
    • Spring Boot 애플리케이션의 테스트를 위한 스타터 의존성입니다. JUnit, Mockito 등과 같은 테스트 프레임워크와 라이브러리를 포함합니다.

*이전 포스팅과 같이 spring initializr를 이용하면 디펜던시가 이미 작성되어있을 것입니다.

- 이전 포스팅: https://mroh1226.tistory.com/199

 

1. [Spring Boot] 프로젝트 생성하기

아래와 같은 환경에서 API Server를 만들기 위해 무료 버전인 spring initializr 로 프로젝트를 생성합니다. - DataBase : MySQL - API Server: Spring Boot (Gradle), JPA - Application: Flutter - spring initializr 링크: https://start

mroh1226.tistory.com


2. Manage Server Connections MySQL 서버정보를 확인합니다.

MySQL 서버정보

 


3. 확인한 정보를 application.preperties 에 입력하여 DB Connection을 이루고, SQL 쿼리 표시, 스키마 자동업데이드와 같은 편의 설정을 입력합니다.

 

application.preperties
# 스프링 애플리케이션 이름
spring.application.name=api-server

# 데이터 소스 구성
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 데이터베이스 URL 및 타임존 설정
# mysql://[DB URL]:[port]/[DB Name]?serverTimezone=UTC
spring.datasource.url=jdbc:mysql://localhost:3306/homebar_db?serverTimezone=Asia/Seoul
# 데이터베이스 사용자 이름
spring.datasource.username=root
# 데이터베이스 비밀번호
spring.datasource.password=9999

# 하이버네이트 구성
# 콘솔에 SQL 쿼리 표시
spring.jpa.properties.hibernate.show_sql=true
# SQL 쿼리를 보기 쉽게 형식화
spring.jpa.properties.hibernate.format_sql=true
# 엔티티 클래스를 기반으로 데이터베이스 스키마 자동 업데이트
spring.jpa.hibernate.ddl-auto=update
# 데이터베이스 방언 지정
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect

 


4. Application으로 돌아와 빌드하면, 연동 완료.!

  • 여기서 "HikariPool-1"은 HikariCP에서 사용하는 커넥션 풀의 이름을 나타냅니다.
  • "Added connection"은 새로운 커넥션이 풀에 추가되었음을 의미합니다.
  • 그 다음에 나오는 **com.mysql.cj.jdbc.ConnectionImpl@328e4ec2**은 커넥션의 구체적인 정보를 나타냅니다.
  • 여기서 **com.mysql.cj.jdbc.ConnectionImpl**은 MySQL 데이터베이스에 대한 JDBC 커넥션을 나타냅니다.
  • "328e4ec2"는 커넥션의 고유한 식별자인 것으로 보입니다.
반응형
Comments