天天看點

SSM架構面試題之Mybatis面試題

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内直接書寫,帶有實體分頁

SSM架構面試題之Mybatis面試題

流程:

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來進行調用。