在Spring使用iBatis及配置講解
就像集成JDBC和其他ORM框架一樣,Spring也集成了iBatis。
1,配置iBatis客戶模板
iBatis的核心是com.ibatis.sqlmap.SqlMapClient
接口。SqlMapClient大致相當(dāng)于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é)點(diǎn)是sqlMapConfig
,里面可以包含多個sqlMap節(jié)點(diǎn),每個sqlMap節(jié)點(diǎn)的resource屬性,也是一個xml文件,在resource指定的xml文件中,我們一般會定義如何將數(shù)據(jù)庫中的一個表映射為一個java對象,并在該文件中定義一些常用的SQL語句。
接下來,簡單介紹下如何在DAO里使用SqlMapClientTemplate。在使用SqlMapClientTemplate執(zhí)行數(shù)據(jù)訪問之前,必須要把它裝配到DAO里。這一點(diǎn)比較簡單,只需要在定義DAO時,為其指定sqlMapClientTemplate引用即可。
2,建立基于iBatis的DAO
SqlMapClientDaoSupport類是這對iBatis的DAO支持類,它是作為一個父類讓DAO實(shí)現(xiàn)來繼承的。SqlMapClientDaoSupport暴露了一個SqlMapClientTemplate對象,用于執(zhí)行iBatis查詢。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- struts2+spring+ibatis框架整合實(shí)現(xiàn)增刪改查
- ibatis結(jié)合oracle批量插入三種方法的測評
- java~springboot~ibatis數(shù)組in查詢的實(shí)現(xiàn)方法
- ibatis遷移到mybatis3的注意事項(xiàng)
- 通過ibatis解決sql注入問題
- ibatis學(xué)習(xí)之搭建Java項(xiàng)目
- Mybatis報錯: org.apache.ibatis.exceptions.PersistenceException解決辦法
- Mybatis與Ibatis的區(qū)別
- Ibatis配置xml文件CDATA使用方法詳解
相關(guān)文章
Java程序去調(diào)用并執(zhí)行shell腳本及問題總結(jié)(推薦)
這篇文章主要介紹了Java程序去調(diào)用并執(zhí)行shell腳本及問題總結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06一文學(xué)會使用sa-token解決網(wǎng)站權(quán)限驗(yàn)證
這篇文章主要為大家介紹了使用sa-token解決網(wǎng)站權(quán)限驗(yàn)證方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Java @PostMapping和@GetMapping方法使用詳解
這篇文章主要介紹了Java @PostMapping和@GetMapping方法使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-03-03基于Java文件輸入輸出流實(shí)現(xiàn)文件上傳下載功能
這篇文章主要為大家詳細(xì)介紹了基于Java文件輸入輸出流實(shí)現(xiàn)文件上傳下載功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04SpringBoot使用Hibernate攔截器實(shí)現(xiàn)時間自動注入的操作代碼
這篇文章主要介紹了SpringBoot使用Hibernate攔截器實(shí)現(xiàn)時間自動注入的操作代碼,主要包括hibernate攔截器的相關(guān)知識,結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10