기본적인 Mybatis 3의 root-context.xml 설정을 위한 자료이다.

pom.xml의 설정은

Mybatis     version 3.4.1
Mybatis-spring     version 1.3.0
Spring-jdbc     version 4.3.8 RELEASE
Spring-test     version 4.3.8 RELEASE
Oracle 11EE (ojdbc6)    version 11.2.0.3

ojdbc6은 maven repository에 존재하지 않기 때문에 repositories 설정을 통해 다른 곳에서 다운 받았다.




========================= root-context.xml =========================


<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:jdbc="http://www.springframework.org/schema/jdbc"

xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"

xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.3.xsd

http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">

<!-- Root Context: defines shared resources visible to all other web components -->

<!-- 1. DB Connection을 위한 객체 생성 -->

<bean id="dataSource" 

class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>

<property name="url" value="jdbc:oracle:thin:@(아이피):(포트):(SID)"/>

<property name="username" value="(사용자)"/>

<property name="password" value="(비밀번호)"/>

</bean>

<!-- 2. Mybatis DB 프로그램에서 사용할 객체 -->

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="dataSource" ref="dataSource" />

<!-- classpath: -> src/main/resources 위치를 찾는다. -->

<property name="configLocation" value="classpath:mybatis-config.xml"/>

<!-- DB에서 실행할 sql 문장을 태그로 정의해 놓는다. -->

<property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml"/>

</bean>

<!-- 3. Mybatis DB 프로그램의 자동화 객체 -> template -->

<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">

<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>

</bean>

</beans>

========================= root-context.xml =========================



1에서 생성된 dataSource 객체를 2번에 ref로 삽입, 
2번에서 생성된 sqlSessionFactory를 3번에 ref로 삽입하여 
최종적으로 sqlSession 객체를 사용하는 과정이다.

1번에서 기본적인 Connection을 만드는 dataSource에 프로퍼티를 넣어준다. 
    - 가져올 드라이버의 위치를 알려주는 driverClassName
    - DB에 연결하기 위한 url
    - DB에 접속하기 위한 username, password

2번에서는 Connection에 설정을 프로퍼티로 추가하여 sqlSessionFactory를 생성한다.
    - ref를 이용하여 1번의 dataSource를 삽입
    - 각종 설정을 하는 mybatis-congif.xml과 연결시키는 configLocation
    - 실행할 sql이 담겨있는 xml과 결정하는 mapperLocations

3번에서는 mapperLocations, configLocation에서 사용하는 템플릿을 담아놓은 라이브러리를 sqlSessionFactory에 적용하여 sqlSession객체를 만든다.


+ Recent posts