일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 리액트
- kotlin
- Deep Learning
- javascript
- data structure
- annotation
- 제이쿼리
- Java
- 스프링 부트
- ES6
- transformer
- 하이브리드앱
- bean
- Machine Learning
- cache
- 자바스크립트
- spring boot
- spring
- 스프링
- react
- Test Coverage
- 어노테이션
- JPA
- jQuery
- C++
- log4j2
- 테스트 커버리지
- AWS
- 구버전
- 자료구조
Archives
- Today
- Total
박서희연구소
[Spring] Spring Boot 에 MyBatis 연동 본문
반응형
[문제]
Spring Boot 를 사용하던 중, MyBatis 가 필요한 상황이 생겼다.
[목표]
Spring Boot 에 MyBatis 를 연동하는 방법을 알아본다.
[해결]
환경 : Spring Boot 2.4.5, Maven, Kotlin 1.5.0, MariaDB 2.7.1, MyBatis 2.1.4
DB 는 연동되어 있다고 가정하며, 사용할 테이블도 생성되어 있어야 한다.
1. Dependency 추가
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
2. Mapper 추가
경로 : src/main/resources/mybatis/mapper/sample(resources 이하 부터는 재량대로 설정)
생성할 mapper interface 에 대한 패키지 경로가 필요하고, 각 쿼리의 id 값과 mapper interface 의 메서드 명과 일치해야 함
<?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="kr.me.seohuipark.noblewayback.sample.repository.BoardSqlMapper">
<select id = "getAllBoardsMybatis" resultType = "kr.me.seohuipark.noblewayback.sample.model.rdbms.BoardDto">
SELECT
bd.*
FROM
board bd
</select>
</mapper>
3. application.yaml 설정 파일에 추가
# mapper.xml 위치설정
mybatis:
mapper-locations: mybatis/**/*.xml
# 필요 시 MyBatis 매핑 Alias 설정 가능
type-aliases-package: kr.me.seohuipark.noblewayback.sample.model.rdbms
4. DTO Class 생성
data class BoardDto(
var id: Long,
var title: String,
var contents: String
)
5. Mapper Interface 생성
mapper.xml 에서 선언한 namespace 와 위치, select id 와 각 메서드의 이름도 일치해야 한다.
@Mapper
interface BoardSqlMapper {
fun getAllBoardsMybatis(): List<BoardDto>
}
위 작업들을 모두 마무리 한 후 Controller 및 Service 를 생성하여 만든 Mapper 에서 생성한 메서드를 호출한다.
- 끝 -
반응형
'○ Programming [Web] > Spring' 카테고리의 다른 글
[Spring] 스프링 IoC 컨테이너 (0) | 2022.05.19 |
---|---|
[Spring] Spring Boot 에 Log4j2 적용하기 (0) | 2021.05.17 |
Comments