您好,登錄后才能下訂單哦!
這篇文章主要介紹iBaits中SqlMapClientTemplate怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Apache iBatis(現已遷至Google Code下發展,更名為MyBatis)是當前IT項目中使用很廣泛的一個半自動ORM框架,區別于Hibernate之類的全自動框架,iBatis對數據庫的操作擁有更加靈活的控制,對于那些經常需要調用本地數據庫函數自定義SQL語句,或是喜歡自己優化SQL執行效率的開發者來說,iBatis是一個非常不錯的選擇。而得到廣泛應用的開源企業架構SpringFramework,也很好的將其進行了集成,使得iBatis在 SpringFramework中的使用更加便利、快捷。開發者所要做的就是繼承SpringFramework中提供的 SqlMapClientDaoSupport類即可。下面,我將自己的使用經驗與大家分享一下:
1、SqlMapClientFactoryBean 的裝配
SqlMapClientFactoryBean是SqlMapClientTemplate使用的基礎,如果在
SpringFramework應用中沒有裝配SqlMapClientFactoryBean,那么SqlMapClientTemplate將不可用,報空指針錯誤。
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="/WEB-INF/sqlmap-config.xml"/> <property name="dataSource" ref="dataSource"/> <property name="lobHandler" ref="oracleLobHandler"/> bean>
2、繼承使用SqlMapClientDaoSupport類
聲明Java類:
...... import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; ...... public class ReportDAOImpl extends SqlMapClientDaoSupport { ...... } SpringFramework配置文件中裝配Java類: <BEAN ID=< span>"reportDao" class="com.test.dao.ReportDAOImpl"> <PROPERTY NAME=< span>"sqlMapClient" ref="sqlMapClient"/>
SpringFramework配置文件中裝配Java類:
3、使用SqlMapClientTemplate查詢
Java代碼:
當執行沒有參數的查詢時:
List result = getSqlMapClientTemplate().queryForList("TestSpace.qryTest");
"TestSpace"為iBatis SqlMap文件的命名空間;"qryTest"為iBatis SqlMap的查詢方法id
當按照主鍵獲取某條記錄信息時:
Long id = new Long("2"); Object resultObj = getSqlMapClientTemplate().queryForObject("TestSpace.getTest", id);
當按照某些條件查詢時:
ObjectA objA = new ObjectA(); objA.setParam1("test1"); objA.setParam2("test2"); ...... List result = getSqlMapClientTemplate().queryForList("TestSpace.qryTestByParam", objA);
如果需要取4~40條數據:
List result = getSqlMapClientTemplate().queryForList("TestSpace.qryTestByParam", objA, 4, 40);
也可以返回Map
Map result = getSqlMapClientTemplate().queryForMap("TestSpace.qryTestByParam", objA, "MapKey");
4、使用SqlMapClientTemplate添加數據
Java代碼:
ObjectA objA = new ObjectA();
objA.setParam1("test1"); objA.setParam2("test2"); ...... getSqlMapClientTemplate().insert("TestSpace.insertTest", objA);
5、使用SqlMapClientTemplate更新數據
Java代碼:
ObjectA objA = new ObjectA(); objA.setParam1("test1"); objA.setParam2("test2"); ...... getSqlMapClientTemplate().update("TestSpace.updateTest", objA);
更新前20條記錄:
Java代碼
getSqlMapClientTemplate().update("TestSpace.updateTest", objA, 20);
6、使用SqlMapClientTemplate刪除數據
Java代碼:
Long id = new Long("2"); getSqlMapClientTemplate().delete("TestSpace.deleteTest", id);
以上是“iBaits中SqlMapClientTemplate怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。