2011년 9월 14일 수요일

[전자정부프레임워크] 다중 dataSource 사용 및 DAO 호출

1. context-datasource.xml에 dataSource 추가
<!-- MSSQL -->
<bean id="dataSource-mssql" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<property name="url" value="jdbc:microsoft:sqlserver://[호스트아이피]:1433;DatabaseName=[데이터베이스네임]"/>
<property name="username" value="[아이디]"/>
<property name="password" value="[패스워드]"/>
</bean>

2. context-sqlMap.xml에 SqlMapClient 추가
<bean id="mssqlSqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocations">
<list>
<value>classpath:/egovframework/sqlmap/config/mssql/*.xml</value>
</list>
</property>
<property name="dataSource" ref="dataSource-mssql"/>
<property name="lobHandler" ref="lobHandler"/>
</bean>

3. DAO에서 사용
전자정부프레임워크의 EgovAbstractDAO는 sqlMapClient만을 사용하므로,
SqlMapClientDaoSupport 상속받고 작성한 mssqlSqlMapClient을 사용하는 DAO 클래스를 작성
@Repository("scMssqlDAO")
public class ScMssqlDAO extends SqlMapClientDaoSupport {
@Resource(name = "mssqlSqlMapClient")
public void setSuperSqlMapClient(SqlMapClient sqlMapClient) {
super.setSqlMapClient(sqlMapClient);
}
public String test(ItCompanyMasterDefaultVO searchVO) throws Exception {
return (String) getSqlMapClientTemplate().queryForObject("scMssqlDAO.test", searchVO);
}
}

댓글 없음:

댓글 쓰기