MyBatis는 'SQL 매핑 프레임워크' 중 하나이다.
JDBC 연결 방식에 비해 더욱 빠르고 간편해서 스프링 프레임워크와 연동하여 사용해보자.
다음은 스프링에서의 MyBatis 설정 방법이다.
1. pom.xml에 라이브러리 추가
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
2. root-context.xml에 빈 등록 및 의존 주입
SQLSession
Connection을 생성하거나 원하는 SQL을 전달하고, 결과를 리턴 받는 구조
<mybatis-spring:scan>
지정된 패키지에서 MyBatis 관련 어노테이션을 찾아서 처리
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
<mybatis-spring:scan base-package="org.zerock.mapper"/>
이제 MyBatis와 스프링과의 연동 처리 방법을 알아보자.
Mapper
SQL과 그에 대한 처리를 지정하는 역할
주로 Mapper를 XML + 인터페이스 형태로 작성한다.
1. TimeMapper.xml 작성
namespace
구현할 메서드가 담긴 인터페이스의 경로로 보통 이름을 통일하는 것이 좋다.
id
구현할 인터페이스의 메서드명을 적는다.
resultType
구현할 인터페이스 메서드의 반환 타입을 적는다.
String의 경우 소문자로 적는 것에 유의하자.
<?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="org.zerock.mapper.TimeMapper">
<select id="getTime2" resultType="string">
SELECT sysdate FROM dual
</select>
</mapper>
2. TimeMapper.java 인터페이스 작성
package org.zerock.mapper;
public interface TimeMapper {
public String getTime2();
}
'SPRING > Configuration' 카테고리의 다른 글
java.sql.SQLException: 로케일을 인식할 수 없습니다. (0) | 2020.11.11 |
---|---|
스프링 MVC의 기본 구조 및 흐름 (0) | 2020.10.11 |
커넥션 풀 - HikariCP (0) | 2020.10.10 |
spring legacy project 구조 (0) | 2020.10.10 |
[스프링] Eclipse & Oracle 연결 - C3P0 설정 (0) | 2020.10.07 |