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 파일 제대로 세팅 됐는지 확인
'코딩 > WEB' 카테고리의 다른 글
Spring 설정 -- 3 AOP 설정 (0) | 2014.10.15 |
---|---|
Spring 설정 -- 1 (0) | 2014.10.14 |
MyBatis DynamicSQL Select 문 예제(XML) (0) | 2014.10.14 |
WEB: MyBatis 설정 및 사용 (0) | 2014.10.08 |
Web 예제: SQLExecutor(익명 클래스) 와 TimeDAO (jsp로 시간 나오게 하기) (0) | 2014.09.30 |