Framework/Spring Framework
[Spring][iBatis] iBatis를 스프링에 세팅할 때 ‘SqlMapClientTemplate’ 클래스를 얻어오기 위한 라이브러리로 쓸 수 있는 2가지 라이브러리
gf0308
2022. 3. 18. 02:04
— ‘spring-orm’ (3.2.18.RELEASE 까지)
— ‘spring-ibatis’ (2.0.8)
두 가지가 있다.
SqlMapClientTemplate 클래스
스프링 환경에서 ibatis를 데이터베이스 접근기술로 하여 데이터 처리를 한다면 SqlMapClientFactoryBean, SqlMapClientTemplate를 이용하게 된다.
- SqlMapClientFactoryBean (org.springframework.orm.ibatis.SqlMapClientFactoryBean) : dataSource와 config정보를 투입해 해당 객체를 생성
- SqlMapClientTemplate (org.springframework.orm.ibatis.SqlMapClientTemplate) : SqlMapClientFactoryBean객체를 투입해 해당 객체를 생성
이렇게 만들어진 SqlMapClientTemplate 인스턴스로 (ex: sqlMapClientTemplate)
- sqlMapClientTemplate.queryForObject();
- sqlMapClientTemplate.queryForList();
식으로 데이터를 조회하고 처리한다.
따라서 SqlMapClientFactoryBean, SqlMapClientTemplate 두 클래스가 반드시 있어야 ibatis를 이용할 수가 있다.
SqlMapClientTemplate 클래스를 제공하는 2가지 라이브러리
- ‘spring-orm’ 라이브러리
- ‘spring-ibatis’ 라이브러리
두 라이브러리 모두
- SqlMapClientFactoryBean (org.springframework.orm.ibatis.SqlMapClientFactoryBean)
- SqlMapClientTemplate (org.springframework.orm.ibatis.SqlMapClientTemplate)
클래스들을 제공하고 있다.
‘spring-orm’ 라이브러리에서의 유의할 점과 해결법
spring-orm 라이브러리는 3.2.18.RELEASE 버전까지 (3 버전 대의 마지막 버전)는 ibatis를 지원했다.
근데 이후 spring-orm 4.0.0.RELEASE부터는 ibatis를 더 이상 지원하지 않고 있다.
spring-orm 3.2.18 버전
spring-orm 4.0.0.RELEASE 버전
따라서 ibatis를 쓸 때 ‘spring-orm’ 라이브러리로 계속 이용하려면 최대 3.2.18.RELEASE 이내를 유지해야 한다.
만약 다른 라이브러리를 쓴다고 하면 ‘spring-ibatis 2.0.8 버전’(2008년 1월 출시; 훨씬 더 오래됨) 이 있다.
<!-- https://mvnrepository.com/artifact/org.springframework/spring-ibatis -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-ibatis</artifactId>
<version>2.0.8</version>
</dependency>