본문 바로가기
GD's IT Lectures : 기초부터 시리즈/스프링 부트(Spring Boot) & 마이바티스(Mybatis) 연동

[스프링 부트(Spring Boot) & 마이바티스(Mybatis) 연동] 데이터베이스 설정

by GDNGY 2023. 5. 6.

4. 데이터베이스 설정

마이바티스를 사용하기 위해 데이터베이스를 설정하는 방법에 대해 다룹니다. 데이터베이스는 대부분의 웹 애플리케이션에서 필수적으로 사용되는 요소이며, 이를 스프링 부트와 함께 사용하기 위해서는 데이터베이스 드라이버를 추가하고, 데이터베이스 연결 정보를 설정해야 합니다. 이번 섹션에서는 데이터베이스의 종류와 데이터베이스 드라이버 추가 방법, 데이터베이스 연결 정보 설정 방법 등을 다룹니다. 또한, 이번 섹션에서는 스프링 부트와 마이바티스를 연동하기 위한 기본적인 설정 방법에 대해서도 다룹니다. 이를 통해 데이터베이스를 설정하는 방법을 이해하고, 스프링 부트와 마이바티스를 함께 사용할 수 있는 기반을 마련할 수 있습니다.

 

4.1. MySQL 설치 및 설정

4.1.1. MySQL 서버 설치

MySQL 서버를 설치하려면 MySQL 공식 웹사이트(https://www.mysql.com/)에서 다운로드 받을 수 있는 커뮤니티 에디션을 사용하면 됩니다. 다운로드 후 설치 과정을 따라 진행하면 MySQL 서버가 설치됩니다. 설치가 완료되면 MySQL 서버를 실행하고 필요한 설정을 진행해야 합니다. 

 

4.1.2. MySQL 워크벤치 설치

MySQL 워크벤치는 MySQL 서버를 관리하는 GUI 도구입니다. 이를 통해 데이터베이스, 테이블, 사용자 등을 관리할 수 있습니다. 워크벤치를 설치하려면 MySQL 웹사이트(https://www.mysql.com/products/workbench/)에서 다운로드 받아 설치하면 됩니다.

 

4.1.3. 스키마 및 테이블 생성

MySQL 워크벤치를 사용하여 스키마 및 테이블을 생성해 봅시다. 먼저, 워크벤치에서 MySQL 서버에 연결한 후 'Create a new schema' 아이콘을 클릭하여 스키마를 생성합니다. 그 다음, 생성된 스키마를 선택하고 마우스 오른쪽 버튼을 클릭하여 'Create Table'을 선택합니다. 테이블 이름 및 칼럼, 데이터 타입 등을 설정하고 저장합니다.

 

이제 MySQL 데이터베이스를 설치하고, 워크벤치를 이용하여 스키마와 테이블을 생성하는 방법을 알았습니다. 다음 섹션에서는 스프링 부트와 마이바티스 프로젝트에 데이터베이스 설정을 적용하는 방법을 살펴봅시다.

 

4.2. 스프링 부트 데이터베이스 설정

4.2.1. application.properties 설정

스프링 부트 프로젝트에서 MySQL 데이터베이스를 사용하려면, application.properties 파일에 데이터베이스 관련 설정을 추가해야 합니다. 다음과 같은 설정을 추가합니다.

 

spring.datasource.url=jdbc:mysql://localhost:3306/your_schema_name?useSSL=false&serverTimezone=UTC&useUnicode=yes&characterEncoding=UTF-8
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

여기서 your_schema_name, your_username, your_password를 자신의 MySQL 데이터베이스에 맞게 수정해 주세요.

 

4.2.2. application.yml 파일 설정

application.yml 파일을 사용하는 경우, 데이터베이스 연결 설정을 아래와 같이 작성합니다.

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/your_schema_name?useSSL=false&serverTimezone=UTC&useUnicode=yes&characterEncoding=UTF-8
    username: your_username
    password: your_password
    driver-class-name: com.mysql.cj.jdbc.Driver

마찬가지로 your_schema_name, your_username, your_password를 자신의 MySQL 데이터베이스에 맞게 수정해 주세요.

 

스프링 부트에서 데이터베이스 연결을 설정한 후, 필요한 경우 추가적인 설정을 통해 트랜잭션 관리, 쿼리 성능 최적화 등을 구성할 수 있습니다. 이러한 설정은 개발자의 요구에 따라 다양한 환경에 맞게 구성될 수 있습니다.

 

MySQL 외에 다른 데이터베이스를 사용하려면, 해당 데이터베이스의 JDBC 드라이버를 의존성에 추가하고, URL 및 드라이버 클래스 이름을 수정해야 합니다.

 

4.3. 스프링 부트 JPA 설정 (선택 사항)

4.3.1. JPA 의존성 추가

스프링 부트에서 JPA를 사용하려면, 먼저 의존성을 추가해야 합니다. Maven 기반 프로젝트에서는 pom.xml에, Gradle 기반 프로젝트에서는 build.gradle에 아래와 같이 의존성을 추가합니다.

 

예제 코드(Maven)

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

 

예제 코드(Gradle)

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

 

4.3.2. 엔티티 매핑 및 레포지토리 인터페이스 작성

JPA를 사용하려면, 먼저 데이터베이스 테이블과 매핑되는 엔티티 클래스를 작성해야 합니다. 엔티티 클래스는 @Entity 어노테이션을 사용하여 정의하며, 기본 키는 @Id 어노테이션을 사용해 표시합니다.

 

예제 코드

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String email;
    // getters, setters, constructors, etc.
}

 

레포지토리 인터페이스를 작성하여 JPA를 사용해 데이터베이스와 상호 작용할 수 있습니다. 레포지토리 인터페이스는 org.springframework.data.repository.CrudRepository를 상속받아 작성하며, 제네릭 인자로 엔티티 클래스와 기본 키 타입을 지정해 줍니다.

 

public interface UserRepository extends CrudRepository<User, Long> {
}

 

이제 UserRepository 인터페이스를 사용하여 데이터베이스와 상호 작용할 수 있습니다. 스프링 부트는 자동으로 해당 인터페이스의 구현체를 생성해 주며, 개발자는 이를 주입받아 사용할 수 있습니다.

 

 

 

 

2023.05.06 - [프로그래밍/스프링 부트(Spring Boot) & 마이바티스(Mybatis) 연동] - [스프링 부트(Spring Boot) & 마이바티스(Mybatis) 연동] 스프링 부트 기초

 

[스프링 부트(Spring Boot) & 마이바티스(Mybatis) 연동] 스프링 부트 기초

3. 스프링 부트 기초 스프링 부트의 기본 개념과 동작 원리, 주요 기능 등에 대해 다룹니다. 스프링 부트는 자바 기반의 웹 애플리케이션 개발을 위한 프레임워크로, 높은 생산성과 간편한 설정

gdngy.tistory.com

 

반응형

댓글