在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會(huì)話管理和異常處理問題的方案是SQLMapClientTemplate。SQLMapClientTemplate包裹了一個(gè)SqlMapClient來透明的打開和關(guān)閉會(huì)話,還捕獲拋出的SQLException。
要想在程序里使用SqlMapClientTemplate
,需要在xml
中配置一個(gè)bean
。還需要給SqlMapClientTemplate的sqlMapClient屬性指定要注入的bean。sqlMapClient屬性必須為一個(gè)iBatis的SqlMapClient。在Spring里,獲得SqlMapClient的最佳方式是通過SqlMapClientFactoryBean。
在配置SqlMapClientFactoryBean
時(shí),需要配置它的dataSource屬性,用于指定訪問哪個(gè)數(shù)據(jù)庫(kù)。另一個(gè)重要的屬性是configLocation,它的值是一個(gè)xml文件。
接下來,我們需要定義iBatis的SQL映射表,也就是編寫configLocation指定的xml文件的內(nèi)容。
在這個(gè)xml文件中,它的根節(jié)點(diǎn)是sqlMapConfig
,里面可以包含多個(gè)sqlMap節(jié)點(diǎn),每個(gè)sqlMap節(jié)點(diǎn)的resource屬性,也是一個(gè)xml文件,在resource指定的xml文件中,我們一般會(huì)定義如何將數(shù)據(jù)庫(kù)中的一個(gè)表映射為一個(gè)java對(duì)象,并在該文件中定義一些常用的SQL語(yǔ)句。
接下來,簡(jiǎn)單介紹下如何在DAO里使用SqlMapClientTemplate。在使用SqlMapClientTemplate執(zhí)行數(shù)據(jù)訪問之前,必須要把它裝配到DAO里。這一點(diǎn)比較簡(jiǎn)單,只需要在定義DAO時(shí),為其指定sqlMapClientTemplate引用即可。
2,建立基于iBatis的DAO
SqlMapClientDaoSupport類是這對(duì)iBatis的DAO支持類,它是作為一個(gè)父類讓DAO實(shí)現(xiàn)來繼承的。SqlMapClientDaoSupport暴露了一個(gè)SqlMapClientTemplate對(duì)象,用于執(zhí)行iBatis查詢。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- struts2+spring+ibatis框架整合實(shí)現(xiàn)增刪改查
- ibatis結(jié)合oracle批量插入三種方法的測(cè)評(píng)
- java~springboot~ibatis數(shù)組in查詢的實(shí)現(xiàn)方法
- ibatis遷移到mybatis3的注意事項(xiàng)
- 通過ibatis解決sql注入問題
- ibatis學(xué)習(xí)之搭建Java項(xiàng)目
- Mybatis報(bào)錯(cuò): 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ì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06一文學(xué)會(huì)使用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ì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-03-03基于Java文件輸入輸出流實(shí)現(xiàn)文件上傳下載功能
這篇文章主要為大家詳細(xì)介紹了基于Java文件輸入輸出流實(shí)現(xiàn)文件上傳下載功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04Web容器啟動(dòng)過程中如何執(zhí)行Java類
這篇文章主要介紹了Web容器啟動(dòng)過程中如何執(zhí)行Java類,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10SpringBoot使用Hibernate攔截器實(shí)現(xiàn)時(shí)間自動(dòng)注入的操作代碼
這篇文章主要介紹了SpringBoot使用Hibernate攔截器實(shí)現(xiàn)時(shí)間自動(dòng)注入的操作代碼,主要包括hibernate攔截器的相關(guān)知識(shí),結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10Spring使用注解更簡(jiǎn)單的讀取和存儲(chǔ)對(duì)象的方法
這篇文章主要介紹了Spring使用注解更簡(jiǎn)單的讀取和存儲(chǔ)對(duì)象的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-07-07