1. 프로젝트의 maven pom.xml에 defendency 4개 추가


<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jdbc</artifactId>

<version>${org.springframework-version}</version>

</dependency>

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis-spring</artifactId>

<version>1.2.2</version>

</dependency>

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

<version>3.2.7</version>

</dependency>

<dependency>

<groupId>cn.guoyukun.jdbc</groupId>

<artifactId>oracle-ojdbc6</artifactId>

<version>11.2.0.3.0</version>

</dependency>


*Mysql을 쓸 경우 다음도 추가

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.33</version>

</dependency>


2. root-context.xml 파일에 다음의 내용 추가


<bean id="dataSource"

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

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

                  <property name="url" value="jdbc:oracle:thin:@61.72.16.181:5024:orcl" /> 

<property name="username" value="user100" /> 

<property name="password" value="user100" />

</bean>


<bean id="transactionManager"

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

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

</bean>


<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>


</bean>





3. root-context.xml의 Namespaces에 mybatis-spring, tx 체크

체크 박스가 보이지 않으면 다시 창을 닫은 후 다시 열어봄.


그리고 root-context.xml에 다음을 추가

<mybatis-spring:scan base-package="org.npe.**.mapper" />


*바로 위 한 문장은 자동 스캔을 위한 구문임.

*Mapper 파일은 위의 package에 들어있어야 함.


<context:annotation-config></context:annotation-config>
 <context:component-scan base-package="org.npe.**.service"></context:component-scan>



4. 테스트 하기


<TimeMapper.java>


package org.ph.bbs.mapper;


import org.apache.ibatis.annotations.Select;


public interface TimeMapper {


@Select("select sysdate from dual")

public String getTime();

}




<MapperTest.java>

package org.ph.web;


import static org.junit.Assert.*;

import javax.inject.Inject;

import org.apache.log4j.Logger;

import org.apache.log4j.spi.LoggerFactory;

import org.junit.Before;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.ph.mapper.TimeMapper;

import org.springframework.test.context.ContextConfiguration;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import org.springframework.test.context.web.WebAppConfiguration;


@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations = { "file:src/main/**/*-context.xml" })

public class MapperTest {


static Logger logger = Logger.getLogger(MapperTest.class);

@Inject

TimeMapper mapper;

@Before

public void setUp() throws Exception {

}


@Test

public void timeTest() {

logger.info(mapper);

logger.info(mapper.getTime());

}

}


-주의-

*테스트할때 빈 mapper.xml 파일이 있으면 안됨.->>예기치 않은 파일의 끝입니다 에러

*pom 파일 제대로 세팅 됐는지 확인


Posted by 타다키치
,