Mybatis 이전버전인 ibatis + Spring3 에 대한 기본적인 연동법을 소개해보고자 합니다.


Spring 기본 연동법은 하단 포스팅을 참조해 주세요



2014/11/06 - [개발에필요한연동법/스프링연동] - STS 이클립스를 이용하여 UTF-8 인코딩 설정 및 Spring3 MVC 연동해보기


2014/11/06 - [개발에필요한연동법/스프링연동] - Spring3 한글깨짐 방지를 위한 UTF-8 인코딩 설정하기


2014/11/14 - [개발에필요한연동법/스프링연동] - Spring3 Maven을 이용하여 pom.xml에 oracle,mysql,mssql jdbc 라이브러리 등록하기



위 링크 기준으로 이어서 DB 설정에 대하여 포스팅 하도록 하겠습니다.


저는 Mybatis 연동법에 소개드렸듯이 MySQL 기준으로 아이바티스 연동을 하도록 하겠습니다.



2014/11/14 - [개발에필요한연동법/스프링연동] - Spring3 + MyBatis 기본설정 + 연동테스트 후 쿼리로그 확인해보기


/resources/spring/application-config.xml 설정부분을 보도록 하겠습니다.



application-config.xml 설정


1
2
3
4
5
6
7
8
9
10
11
12
<context:component-scan base-package="com.spring"/>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://도메인:포트/db명" />
        <property name="username" value="계정" />
        <property name="password" value="비밀번호" />
</bean>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    <property name="configLocation" value="classpath:sqlmap-config.xml"/>
    <property name="dataSource" ref="dataSource"/>
</bean>
</beans>



위와같이 설정을 하셨다면 

"/resources/sqlmap-config.xml 파일을 하나 생성하고 다음 코드를 덮어씌워주세요




sqlmap-config.xml 코드


1
2
3
4
5
6
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
     <settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" useStatementNamespaces="true" />
      <sqlMap resource="query/query.xml" />
</sqlMapConfig>



"/resources/query/" 디렉토리 생성 후 query.xml파일을 생성 한 다음 

하단 코드를 덮어씌워보도록 하겠습니다.




query.xml 샘플 쿼리코드

1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="query">
    <select id="ibatisSelect" resultClass="String">
         SELECT 'TEST'
    </select>
</sqlMap>



이번 포스팅은 간단하게 DB SELECT 테스트를 하기 위함으로써 Service 영역을 제외하고 

Controller -> Dao 로 바로 호출하는 샘플 코드를 작성해보겠습니다.



1. StudyController 클래스 샘플코드

1
2
3
4
5
6
7
8
9
10
11
@Autowired
private StudyDao studyDao;
     
@RequestMapping("/ibatisSelect")
public void ibatisSelect(){
    try {
        studyDao.ibatisSelect();   
    } catch (Exception e) {
        e.printStackTrace();
    }
}


2. StudyDao 인터페이스 샘플코드


1
public void ibatisSelect() throws SQLException;


3. StudyDaoImpl 클래스 샘플코드


1
2
3
4
5
6
7
8
9
10
11
@Repository
public class StudyDaoImpl implements StudyDao {
 
    @Autowired
    private SqlMapClient query;
      
    public void ibatisSelect() throws SQLException {
        String result= (String)query.queryForObject("query.ibatisSelect");
        System.out.println("결과값:"+result);
    }
}



샘플코드들에 대한 작성이 완료되었다면 한번 실행결과를 확인해보도록 하겠습니다.







쿼리로그는 Mybatis와 다르게 출력되지않지만 결과값이 나왔다는 것은 Spring과 ibatis 와 연동이 되었다는 결과 입니다.

다음장은 logback.xml 파일로 쿼리출력을 하는것이 아닌 

log4j 를 이용하여 쿼리로그 출력하는 포스팅을 하도록 하겠습니다 .


그다음 이어서 스프링 + 아이바티스 기본 연동에 추가로 트랜잭션 관련 포스팅을 다루겠습니다.



by 개발로짜