java gradle 프로젝트에서 mybatis 설정을 정리해주고 샘플을 작성

Java Gradle 프로젝트에서 MyBatis를 설정하는 방법과 대표적인 샘플 코드를 아래와 같이 정리할 수 있다.

Gradle 의존성 추가

build.gradle 파일의 dependencies 블록에 MyBatis, DB 드라이버, 기타 필요 의존성을 추가한다(아래는 MySQL 예시. 사용하는 DB 종류에 따라 runtimeOnly 부분을 변경하면 된다).

groovy
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3'
runtimeOnly 'mysql:mysql-connector-java:8.0.32' // 사용 DB에 맞게 변경
// lombok 등 추가 설정
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}

application.properties 설정

src/main/resources/application.properties 파일에 다음과 같이 데이터베이스 및 마이바티스 설정을 입력한다.

text
# 데이터베이스 설정
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.username=testuser
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# MyBatis 설정
mybatis.type-aliases-package=com.example.demo.model
mybatis.mapper-locations=classpath:mapper/**/*.xml


Mapper 인터페이스 및 XML 작성

java gradle 프로젝트에서 mybatis 설정을 정리해주고 샘플을 작성

  1. Java 인터페이스(UserMapper.java)

java
package com.example.demo.mapper;

import com.example.demo.model.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper {
User selectUserById(Long id);
}

  1. MyBatis XML Mapper(src/main/resources/mapper/UserMapper.xml)

xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.example.demo.mapper.UserMapper">
<select id="selectUserById" resultType="com.example.demo.model.User">
SELECT * FROM user WHERE id = #{id}
</select>
</mapper>


간단한 모델 클래스 예시

java
package com.example.demo.model;

public class User {
private Long id;
private String name;
// getter, setter 등 생략
}


요약

  • Gradle 의존성 등록

  • 데이터베이스 및 MyBatis 설정

  • Mapper Java 인터페이스, XML 매퍼 작성

  • 모델 클래스 구성

실제 서비스 개발 시에는 Mapper, DAO, Service, Controller 레이어로 분리 설계하는 것이 일반적이다.