Ibatis:2010年,apache的Ibatis架構停止更新,并移交給了google團隊,同時更名為MyBatis。從2010年後Ibatis在沒更新過,徹底變成了一個孤兒架構。一個沒人維護的架構注定被mybatis拍在沙灘上。Mybatis:Ibatis的更新版本。
Mybatis實作了DAO接口與xml映射檔案的綁定,自動為我們生成接口的具體實作,使用起來變得更加省事和友善。
注解使用情況:Sql語句簡單時
xml綁定使用情況:xml綁定 (@RequestMap用來綁定xml檔案)
SqlSession
映射鍵值對即可
column:資料庫中表的列名
property:實體Bean中的屬性名
把Sql語句從Java中獨立出來。封裝了底層的JDBC,API的調用,并且能夠将結果集自動轉換成JavaBean對象,簡化了Java資料庫程式設計的重複工作。自己編寫Sql語句,更加的靈活。入參無需用對象封裝(或者map封裝),使用@Param注解。
property:屬性名
column:共同列
ofType:集合中元素的類型
select:要連接配接的查詢
javaType:集合中元素的類型
RowBounds對象分頁
在Sql内直接書寫,帶有實體分頁
流程:
1.通過Reader對象讀取Mybatis映射檔案
2.通過SqlSessionFactoryBuilder對象建立SqlSessionFactory對象
3.擷取目前線程的SQLSession
4.事務預設開啟
5.通過SQLSession讀取映射檔案中的操作編号,進而讀取SQL語句
6.送出事務
7.關閉資源
總結:
Mybatis的準備工作與Hibernate差不多,都需要一個總配置檔案、一個映射檔案。
Mybatis的SQLSession工具類使用ThreadLocal來對線程中的Session來進行管理。
Mybatis的事務預設是開啟的,需要我們手動去送出事務。
Mybatis的SQL語句是需要手寫的,在程式中通過映射檔案的命名空間.sql語句的id來進行調用。