mybatis如何從接口映射到xml?

落落214675916

mybatis作為JAVA開發最流行的ORM(object renational mapping)框架,能夠將JAVA實體類和數據庫中的字段結合映射起來,達到直接操作數據庫的目的!

需要明確的是,所有的ORM框架都基於JAVA原生的JDBC API做了封裝,所以首先我們來了解下jdbc是怎麼操作數據庫的?

1,註冊驅動!

2,建立connection!

3 ,創建操作語句statement!

4,執行statement!

5,封裝結果resultset!

既然是封裝jdbc,也就是在jdbc的基礎上進行擴展,達到使用方便的效果!


在mybatis容器初始化的時候,會自動進行驅動註冊,並把xml中配置的sql語句按照命名空間(就是接口名)加sql ID的方式作為key,sql語句作為value放入hashMap中存儲起來,等到使用的時候從hashmap中取出,經過反射處理得到原生的sql語句,在使用jdbc executor進行執行!

執行過程中,如果有parameterType映射錯誤,或者SQL語句錯誤,則會拋出異常到應用層!

得到數據操作結果以後,使用resultmap中的映射關係把數據映射到JAVA實體類中,並創建相應的實例對象!




自己總結的mybatis的常用功能:

1,使用xml文件配置使用映射

2,使用typeAliases修改類型別名

3,使用插件進行方法攔截

4,使用類型句柄(typehandlers)匹配java的參數或者返回值類型

5,使用環境(environments)配置多個不同的環境,以便使用不同的數據庫

6,使用事務管理器(Transaction)管理事務

7,使用動態SQL

8,處理一對一關係使用聯合(association),處理一對多使用聚集(cellection)

9,使用識別器(discriminator)對產生的結果集進行篩選(類似switch語句)

10,使用cache開啟緩存

11,使用緩存引用res-cache(讓不同命名空間都能使用同一個緩存機制)


mybatis還有更多用法,玩法,關注我,我們一塊學習!


分享到:


相關文章: