본문 바로가기

SPRING/Configuration

MyBatis 설정

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();
	
}