iBatisとSpringを組み合わせた使い方
5224 ワード
以下は全体の例で、必要な部分を貼り付けることができます.
sqlMapConfig.xml
Area.xml
Area.java
BaseDAO
Springセクション:
sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="com/itmg/crawler/server/dao/masterdb/config/Area.xml"/>
</sqlMapConfig>
Area.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Area">
<typeAlias alias="area" type="com.itmg.crawler.server.remote.model.dao.AreaModel"/>
<select id="getAllArea" resultClass="area">
<![CDATA[
select
*
from t_area
]]>
</select>
<select id="getAllAreaByID" parameterClass="area" resultClass="area">
select * from t_area where id=#id#
</select>
</sqlMap>
Area.java
package com.itmg.crawler.server.dao.masterdb.impl;
import java.util.ArrayList;
import java.util.List;
import com.itmg.crawler.server.dao.masterdb.AreaDAO;
import com.itmg.crawler.server.exception.DAOException;
import com.itmg.crawler.server.remote.model.dao.AreaModel;
public class AreaDAOImpl extends BaseDAO implements AreaDAO {
public AreaDAOImpl() {
// TODO Auto-generated constructor stub
}
/*
* t_area
* @see com.itmg.crawler.server.dao.masterdb.AreaDAO#getAllArea()
*/
public List<AreaModel> getAllArea() throws Exception {
List<AreaModel> list = new ArrayList<AreaModel>();
list = getSqlMapClientTemplate().queryForList("getAllArea");
return list;
}
/*
* AreaModel id list
* @see com.itmg.crawler.server.dao.masterdb.AreaDAO#getAreaBySimple(com.itmg.crawler.server.remote.model.dao.AreaModel)
*/
public List<AreaModel> getAreaBySimple(AreaModel areaModel)
throws Exception {
List<AreaModel> list = new ArrayList<AreaModel>();
list = getSqlMapClientTemplate().queryForList("getAllAreaByID",areaModel);
return list;
}
}
BaseDAO
package com.itmg.crawler.server.dao.masterdb.impl;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
public class BaseDAO extends SqlMapClientDaoSupport{
public BaseDAO() {
// TODO Auto-generated constructor stub
}
}
Springセクション:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource_master" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1/masterdb_server" />
<property name="user" value="root" />
<property name="password" value="xuehaipeng" />
<property name="maxPoolSize" value="20" />
<property name="minPoolSize" value="5" />
<property name="initialPoolSize" value="5" />
<property name="maxIdleTime" value="20" />
</bean>
<bean id="transactionManager_master" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource"><ref local="dataSource_master"/></property>
</bean>
<bean id="sqlMapClient_master" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="dataSource" ref="dataSource_master" />
<property name="configLocation">
<value>classpath:/com/itmg/crawler/server/dao/masterdb/config/sqlMapConfigMaster.xml</value>
</property>
</bean>
<!-- MasterDB DAO configure -->
<bean id="daoTemplateMaster" abstract="true">
<property name="sqlMapClient" ref="sqlMapClient_master"/>
</bean>
<bean id="areaDAO" class="com.itmg.crawler.server.dao.masterdb.impl.AreaDAOImpl" parent="daoTemplateMaster"/>
</beans>