Spring中使用ibatis完整分析
1. 首先看Spring中beans的配置:
1) <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close">
第一個bean作為配置連接數據庫,設置DriverManager以及用戶名密碼
2) <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
第二個bean就是選擇SqlMapClient,并且填寫該xml的路徑:
XmlSqlMapClientBuilder xmlBuilder =new XmlSqlMapClientBuilder();
SqlMapClient sqlMap = xmlBuilder.buildSqlMap(reader);
3) <bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
<property name="sqlMapClient">
<ref bean="sqlMapClient" />
</property>
</bean>
第三個bean,SqlMapClientTemplate是SqlMapClient的封裝類.
SqlMapClient中包含著session的管理.
SqlMapClientTemplate用于session的封裝,以及異常的捕捉.
所以按照以上的推斷來說.應該盡量使用SqlMapClientTemplate.
保證session以及Exception的正常以及統一.
2. 然后就是SqlMapClient的配置:
<sqlMap resource="sql/gpsData_sqlmap_mapping.xml"/>
配置gpsData類與數據庫的對應關系
3. 這兩個xml文件配置好以后就可以在自己的DAO類中寫相應的增刪改查方法了。
public class IbatisGpsDataDao extends BaseDao implements GpsDataDao{
…
}
該類集成了BaseDao類,BaseDao提供了SqlMapClientTemplate的對象操作,該對象正是在Spring beans中配置的。通過獲得這個SqlMapClientTemplate,進行增刪改查的操作。
例如下面的insert方法:
public long insertGpsDataDo(GpsDataDo gpsdata) {
if(gpsdata == null){
throw new IllegalArgumentException();
}
return (Long) getSqlMapClientTemplate().insert("GpsData.insertGpsData",gpsdata);
}
posted on 2012-05-15 11:52 gps夢想 閱讀(674) 評論(0) 編輯 收藏 所屬分類: J2EE