[Spring] DAO와 MyBatis 연결

반응형

 

 

Spring, DAO와 MyBatis 연결

 

 

 

  MyBatis 설정하기 Maven 불러오기

<!--https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.2</version>
</dependency>

 MyBatis를 사용하기 위해서는 해당 Maven 설정이 필요하다.

 

 

<!-- DBMS -->
<bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName"
        value="${jdbc.driverClassName}" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
</bean>

<!-- SqlSessionFactory 객체 주입(마이바티스 세팅) -->
<bean id="sqlSessionFactory"
    class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="transactionFactory">
        <bean
            class="org.apache.ibatis.transaction.managed.ManagedTransactionFactory" />
    </property>
    <property name="configLocation"
        value="classpath:/mybatis-config.xml"></property>
    <property name="mapperLocations"
        value="classpath:/mappers/**/*Mapper.xml" />
</bean>
<!-- SqlSession 객체 주입 -->
<bean id="sqlSession"
    class="org.mybatis.spring.SqlSessionTemplate"
    destroy-method="clearCache">
    <constructor-arg name="sqlSessionFactory"
        ref="sqlSessionFactory"></constructor-arg>
</bean>
<!-- mybatis mapper interface bean을 자동으로 검색 -->
<mybatis-spring:scan
    base-package="com.meari.model" />

MyBatis를 사용하기 위한 root-context.xml 설정이다.

configLocation은 Mapper에 사용하기 위한  설정값을 저장하는 곳

mapperLocations은 Mapper(SQL)이 담겨 있는 .xml의 위치가 담겨 있는 곳

 

두 곳을 잘 설정 해두었다면 MyBatis 설정은 끝났다.

 

  MyBatis 사용하기

Mapper SQL을 작성하는 곳 위에 namespace 설정을 한다.

 여기서 namespace를 설정해서, Spring이 Java와 xml이 서로 연결되도록 설정을 해둔다.

저 이름은 절대 중복되어서는 안 되며, 하나의 DAO가 하나의 xml과 연결되어야 한다.

 

JAVA에서 namespace를 설정해야 XML을 찾아간다.

설정된 NAMEPACE는 다음과 같이 사용된다.

해당 method는 SELECT문의 2행 이상의 결괏값을 불러올 때 사용한다.

 

 

 

서로 연결 된 class

DAO에서 NAMESPACE를 통해서 서로의 위치를 찾아갈 수 있도록 설정이 되어있다.

 

 

  마무리

 DAO는 SPRING에서 활용되는 대표적인 방식 중 하나이다.

최근에는 Mapper의 활용으로 보이는 빈도수가 적게 사용하는 방법 중 하나이다.

 

그러나 기본적으로 많이 활용 되는만큼 이 방법 또한 작성해 보았다.

반응형

댓글

Designed by JB FACTORY