Mybatis學習筆記(一):初識Mybatis框架

Mybatis是什麼

它就是披着外套的JDBC,實現的功能完全一樣,只不過是通過一些核心的類和配置文件規範了程序員的開發,使得連接數據庫的操作更加規範化和簡便,在此基礎上對JDBC的功能進行了適當的增強。

Hibernate和Mybatis的相同之處和區別

這兩個框架實現的功能都是一樣的,只是實現和使用方式有點不同,Hibernate是一款重量級的數據庫連接框架,Mybatis是輕量級的,如果是爲了開發方便,不想寫sql,希望全部自動化完成則使用Hibernate最適合了,在ORM(對象關係映射)框架中Hibernate做的最全面,如果是想自己寫sql進行優化和控制,則是Mybatis最擅長的。

用一句話總結兩者的區別:Hibernate把sql語句的生成和執行過程完全封裝了,程序員只需要寫pojo類和配置文件即可;Mybatis只是將執行過程封裝了,具體的sql還是要自己編寫。

Mybatis中的核心類

框架就是一堆的java代碼加上設計模式構成的,Mybatis也不例外,使用JDBC連接數據庫需要四個主要對象:Connection、Statement、參數、ResultSet,Mybatis是建立在JDBC基礎上的,它有四個主要對象:Executor、StatementHandler、ParameterHandler、ResultHandler。在Mybatis中所有的xml配置文件信息全部都經過XML解析器將信息存入到Configuration對象中。

Mybatis的執行流程

JDBC的執行流程:
1.獲取連接(conn = DriverManager.getConnection)
2.準備sql(String sql = “”)
3.設置參數(pm = conn.parepardStatement(sql),pm.setXXX(位置下標,參數))
4.執行sql獲取返回結果(rs = pm.executeXXX())
5.解析返回結果(while(rs.hasNext()){設置數據到實體對象的映射,一行數據對應一個實體對象})
Mybatis的執行流程:
1.打開回話(獲取連接)(SqlSessionFactoryBuilder.build(配置信息對象).openSession())
2.映射器(準備sql)(在xml中編寫sql標籤,通過規則與Mapper接口匹配,Mapper接口爲普通的java接口)
3.輸入映射(設置參數)(在xml中指定參數類型,通過Mapper接口傳遞實際參數)
4.輸出映射(執行sql獲取返回結果)(通過Executor執行sql語句,並將結果按照xml中配置的映射規則進行映射)
5.解析返回結果(通過在xml中指定輸出映射屬性或者手動編寫映射規則標籤resultMap完成解析)

Mybatis主要有哪些功能

Mybatis主要爲開發人員提供了映射器、動態sql、配置文件中的多個標籤、插件功能,其中最重要和用的最多的便是映射器和動態sql了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章