就像集成jdbc和其他orm框架一樣,spring也集成了ibatis。
1,配置ibatis客戶模板
ibatis的核心是com.ibatis.sqlmap.sqlmapclient
接口。sqlmapclient大致相當于hibernate的session或jpa的entitymanager,用于執行全部的數據訪問操作。
spring解決ibatis會話管理和異常處理問題的方案是sqlmapclienttemplate。sqlmapclienttemplate包裹了一個sqlmapclient來透明的打開和關閉會話,還捕獲拋出的sqlexception。
要想在程序里使用sqlmapclienttemplate
,需要在xml
中配置一個bean
。還需要給sqlmapclienttemplate的sqlmapclient屬性指定要注入的bean。sqlmapclient屬性必須為一個ibatis的sqlmapclient。在spring里,獲得sqlmapclient的最佳方式是通過sqlmapclientfactorybean。
在配置sqlmapclientfactorybean
時,需要配置它的datasource屬性,用于指定訪問哪個數據庫。另一個重要的屬性是configlocation,它的值是一個xml文件。
接下來,我們需要定義ibatis的sql映射表,也就是編寫configlocation指定的xml文件的內容。
在這個xml文件中,它的根節點是sqlmapconfig
,里面可以包含多個sqlmap節點,每個sqlmap節點的resource屬性,也是一個xml文件,在resource指定的xml文件中,我們一般會定義如何將數據庫中的一個表映射為一個java對象,并在該文件中定義一些常用的sql語句。
接下來,簡單介紹下如何在dao里使用sqlmapclienttemplate。在使用sqlmapclienttemplate執行數據訪問之前,必須要把它裝配到dao里。這一點比較簡單,只需要在定義dao時,為其指定sqlmapclienttemplate引用即可。
2,建立基于ibatis的dao
sqlmapclientdaosupport類是這對ibatis的dao支持類,它是作為一個父類讓dao實現來繼承的。sqlmapclientdaosupport暴露了一個sqlmapclienttemplate對象,用于執行ibatis查詢。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
原文鏈接:https://blog.csdn.net/li_canhui/article/details/85396299