91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis是什么意思

發布時間:2022-02-23 13:55:09 來源:億速云 閱讀:131 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“mybatis是什么意思”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“mybatis是什么意思”這篇文章吧。

什么是mybatis:

Mybatis本質是一種半自動化的ORM框架,前身是ibatis,除了要pojo和映射關系之外,還需要些sql語句。

怎么看待ORM框架:

處理矛盾的,java程序員喜歡面向對象開發和面向接口開發,而數據庫是一張張表和一個個庫組成的,這兩者的關系很難調和,而關系型映射解決了這一個問題。

Mybatis映射文件三要素:
  • SQL;

  • 映射規則;

  • Pojo。

為什么要用mybatis而不用hibernate?

在我們互聯網的環境里面, 我們經常要面對海量數據,所以我們要基于底層的調優能力,就是sql語句。而hibernate生成的sql語句很不透明。

Mybatis核心流程三大階段:
  • 初始化階段,讀取XML配置文件和注解中的配置信息,創建解析對象,并完成各個模塊的初始化工作。就是把我們的配置文件加載到內存里面去。在sqlSession初始化的時候加載到內存中去的;

  • 代理階段,封裝iBatis的編程模型,使用mapper接口開發的初始化工作;

  • 數據讀寫階段,通過SqlSession完成SQL的解析,參數的映射,SQL的執行,結果的反射解析過程。

SqlSession

SqlSession意味著創建數據庫會話,代表了一次與數據庫的連接;

是mybatis對外提供數據訪問的主要API;

實際上SqlSession的功能都是基于Excutor來實現的。

Mybatis的兩種編程模型Mybatis封裝了ibatis編程模型,使用sqlsession對外提供數據庫的訪問。還有一種是使用mapper接口編程,就可以訪問數據庫

Mybatis和ibatis的區別

Mybatis前身是ibatis的,ibatis之前是Apache旗下的產品,后來到了谷歌旗下,但是谷歌發現ibatis實現起來很麻煩,還需要維護靜態變量,并且沒有業務含義。所以谷歌改成了mybatis,通過面向接口的方式,讓所有代碼有了業務含義,屏蔽掉了底層代碼的復雜性。

為什么使用mapper接口就可以對數據庫進行訪問了呢?

其實最后它還是轉成了底層的ibatis執行方法,它會使用配置文件解讀+動態代理, 找到session中的對應方法執行,找到方法的命名空間和方法名。傳遞參數。

業務流程還是首先要實例化sqlssessionFactory,加載數據庫配置文件以及mapper.xml到configuration對象。然后獲取sqlsession對象。然后通過動態代理跨越面向接口編程和ibatis編程的鴻溝,最后遵循jdbc的規范,通過底層的四大對象合作完成功能。

以上是“mybatis是什么意思”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

繁峙县| 新余市| 逊克县| 德格县| 磴口县| 疏附县| 东源县| 昭觉县| 南京市| 融水| 浠水县| 庆安县| 浮梁县| 古浪县| 松潘县| 鄂尔多斯市| 长岛县| 阿克陶县| 天门市| 麻江县| 永康市| 金寨县| 大姚县| 砚山县| 桑日县| 宁南县| 独山县| 崇阳县| 神农架林区| 任丘市| 陇南市| 阿荣旗| 墨竹工卡县| 和龙市| 南京市| 哈尔滨市| 禹城市| 太康县| 诏安县| 华宁县| 灵石县|