就像集成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查詢。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。