淺析mybatis

一、什么是mybatis?

MyBatis?是支持定制化?SQL、存儲過程以及高級映射的優秀的持久層框架。MyBatis?避免了幾乎所有的?JDBC?代碼和手工設置參數以及抽取結果集。MyBatis?使用簡單的?XML?或注解來配置和映射基本體,將接口和?Java?的?POJOs(Plain?Old?Java?Objects,普通的?Java對象)映射成數據庫中的記錄。

二、mybatis架構


看到Mybatis的框架圖,可以清晰的看到Mybatis的整體核心對象,我更喜歡用自己的圖來表達Mybatis的整個的執行流程。如下圖所示:


原理解析:MyBatis應用程序根據XML配置文件創建SqlSessionFactory,SqlSessionFactory在根據配置,配置來源于兩個地方,一處是配置文件,一處是Java代碼的注解,獲取一個SqlSession。SqlSession包含了執行sql所需要的所有方法,可以通過SqlSession實例直接運行映射的sql語句,完成對數據的增刪改查和事務提交等,用完之后關閉SqlSession。

三、缺點

1、編寫SQL語句時工作量很大,尤其是字段多、關聯表多時,更是如此。

2、SQL語句依賴于數據庫,導致數據庫移植性差,不能更換數據庫。

3、框架還是比較簡陋,功能尚有缺失,雖然簡化了數據綁定代碼,但是整個底層數據庫查詢實際還是要自己寫的,工作量也比較大,而且不太容易適應快速數據庫修改。

4、二級緩存機制不佳

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優秀的...
    笨鳥慢飛閱讀 5,621評論 0 4
  • 1 引言# 本文主要講解JDBC怎么演變到Mybatis的漸變過程,重點講解了為什么要將JDBC封裝成Mybait...
    七寸知架構閱讀 76,624評論 36 979
  • Java數據持久化之mybatis 一. mybatis簡介 1.1 原始的JDBC操作: Java 通過 Jav...
    小Q逛逛閱讀 4,963評論 0 16
  • 官方文檔 簡介 入門 XML配置 XML映射文件 動態SQL Java API SQL語句構建器 日志 一、 JD...
    拾壹北閱讀 3,551評論 0 52
  • 怎樣的愛情,怎樣的暗戀,又如何的明戀,攢夠了失望就離開恐怕是最最適合的離開方式吧,盡管被愛戀的一方竭力克制某種傷害...
    篤定kevin閱讀 118評論 0 0