在Spring使用iBatis及配置講解
就像集成JDBC和其他ORM框架一樣,Spring也集成了iBatis。
1,配置iBatis客戶模板
iBatis的核心是com.ibatis.sqlmap.SqlMapClient接口。SqlMapClient大致相當于Hibernate的Session或JPA的EntityManager,用于執(zhí)行全部的數(shù)據(jù)訪問操作。
Spring解決iBatis會話管理和異常處理問題的方案是SQLMapClientTemplate。SQLMapClientTemplate包裹了一個SqlMapClient來透明的打開和關(guān)閉會話,還捕獲拋出的SQLException。
要想在程序里使用SqlMapClientTemplate,需要在xml中配置一個bean。還需要給SqlMapClientTemplate的sqlMapClient屬性指定要注入的bean。sqlMapClient屬性必須為一個iBatis的SqlMapClient。在Spring里,獲得SqlMapClient的最佳方式是通過SqlMapClientFactoryBean。
在配置SqlMapClientFactoryBean時,需要配置它的dataSource屬性,用于指定訪問哪個數(shù)據(jù)庫。另一個重要的屬性是configLocation,它的值是一個xml文件。
接下來,我們需要定義iBatis的SQL映射表,也就是編寫configLocation指定的xml文件的內(nèi)容。
在這個xml文件中,它的根節(jié)點是sqlMapConfig,里面可以包含多個sqlMap節(jié)點,每個sqlMap節(jié)點的resource屬性,也是一個xml文件,在resource指定的xml文件中,我們一般會定義如何將數(shù)據(jù)庫中的一個表映射為一個java對象,并在該文件中定義一些常用的SQL語句。
接下來,簡單介紹下如何在DAO里使用SqlMapClientTemplate。在使用SqlMapClientTemplate執(zhí)行數(shù)據(jù)訪問之前,必須要把它裝配到DAO里。這一點比較簡單,只需要在定義DAO時,為其指定sqlMapClientTemplate引用即可。
2,建立基于iBatis的DAO
SqlMapClientDaoSupport類是這對iBatis的DAO支持類,它是作為一個父類讓DAO實現(xiàn)來繼承的。SqlMapClientDaoSupport暴露了一個SqlMapClientTemplate對象,用于執(zhí)行iBatis查詢。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
@RequiredArgsConstructor如何實現(xiàn)構(gòu)造器注入
這篇文章主要介紹了@RequiredArgsConstructor如何實現(xiàn)構(gòu)造器注入問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-09-09
SSH框架網(wǎng)上商城項目第21戰(zhàn)之詳解易寶支付的流程
這篇文章主要為大家詳細介紹了SSH框架網(wǎng)上商城項目第21戰(zhàn)之易寶支付的流程,感興趣的小伙伴們可以參考一下2016-06-06
JVM內(nèi)存模型/內(nèi)存空間:運行時數(shù)據(jù)區(qū)
這篇文章主要介紹了JVM內(nèi)存模型/內(nèi)存空間的相關(guān)資料,幫助大家更好的理解和學習Java虛擬機,感興趣的朋友可以了解詳細,希望能夠給你帶來幫助2021-08-08
Spring-cloud Config Server的3種配置方式
這篇文章主要介紹了Spring-cloud Config Server的3種配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09

