DB 설정하기
개요
Spring Framework에서 패키지 별로 DB를 설정하는 방법
설정 방법
- Datasource 2개 이상 생성
- Datasource 각각 sqlSession에 매핑
- MapperScannerConfigurer bean에 mapper 클래스, basePackage 및 sqlSession 설정
예시
context-dataSource.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd">
<!-- Mysql DB-->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/example" />
<property name="username" value="user"/>
<property name="password" value="password"/>
</bean>
<!-- 테스트용 DB -->
<jdbc:embedded-database id="dataSource2" type="HSQL">
<jdbc:script location= "classpath:/db/sampledb.sql"/>
</jdbc:embedded-database>
</beans>
context-mapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/sql-mapper/sql-mapper-config.xml" />
<property name="mapperLocations" value="classpath:/sql-mapper/mappers/*.xml" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="annotationClass" value="org.apache.ibatis.annotations.Mapper"/>
<property name="basePackage" value="com.demo.example" />
<property name="sqlSessionFactoryBeanName" value="sqlSession" />
</bean>
<bean id="sqlSession2" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource2" />
<property name="configLocation" value="classpath:/sql-mapper/secon/sqlmap/sql-mapper-config.xml" />
<property name="mapperLocations" value="classpath:/sql-mapper/test/mappers/*.xml" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="annotationClass" value="org.apache.ibatis.annotations.Mapper"/>
<property name="basePackage" value="com.demo.example" />
<property name="sqlSessionFactoryBeanName" value="sqlSession2" />
</bean>
</beans>
댓글
댓글 0개
댓글을 남기려면 로그인하세요.