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

溫馨提示×

溫馨提示×

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

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

hibernate和mybatis有什么區別

發布時間:2021-06-18 16:59:22 來源:億速云 閱讀:152 作者:Leah 欄目:大數據

今天就跟大家聊聊有關hibernate和mybatis有什么區別,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

hibernate和mybatis的區別

1 簡單簡介 Hibernate 框架

    Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,建立對象與數據庫表的映射。是一個全自動的、完全面向對象的持久層框架。

Mybatis框架

    Mybatis是一個開源對象關系映射框架,原名:ibatis,2010年由谷歌接管以后更名。是一個半自動化的持久層框架。

2 兩者區別 2.1 開發方面

    在項目開發過程當中,就速度而言:

        hibernate開發中,sql語句已經被封裝,直接可以使用,加快系統開發;

        Mybatis 屬于半自動化,sql需要手工完成,稍微繁瑣;

    但是,凡事都不是絕對的,如果對于龐大復雜的系統項目來說,復雜語句較多,選擇hibernate 就不是一個好方案。

2.2 sql優化方面

    Hibernate 自動生成sql,有些語句較為繁瑣,會多消耗一些性能;

    Mybatis 手動編寫sql,可以避免不需要的查詢,提高系統性能;

2.3 對象管理比對

    Hibernate 是完整的對象-關系映射的框架,開發工程中,無需過多關注底層實現,只要去管理對象即可;

    Mybatis 需要自行管理 映射關系;

2.4 緩存方面

相同點:

Hibernate和Mybatis的二級緩存除了采用系統默認的緩存機制外,都可以通過實現你自己的緩存或為其他第三方緩 存方案,創建適配器來完全覆蓋緩存行為。

不同點:

Hibernate的二級緩存配置在SessionFactory生成的配置文件中進行詳細配置,然后再在具體的表-對象映射中配置是那種緩存。

MyBatis的二級緩存配置都是在每個具體的表-對象映射中進行詳細配置,這樣針對不同的表可以自定義不同的緩存機制。并且Mybatis可以在命名空間中共享相同的緩存配置和實例,通過Cache-ref來實現。

比較:

      Hibernate 具有良好的管理機制,用戶不需要關注SQL,如果二級緩存出現臟數據,系統會保存,;

       Mybatis 在使用的時候要謹慎,避免緩存CAche 的使用。

Hibernate優勢

Hibernate的DAO層開發比MyBatis簡單,Mybatis需要維護SQL和結果映射。

Hibernate對對象的維護和緩存要比MyBatis好,對增刪改查的對象的維護要方便。

Hibernate數據庫移植性很好,MyBatis的數據庫移植性不好,不同的數據庫需要寫不同SQL。

Hibernate有更好的二級緩存機制,可以使用第三方緩存。MyBatis本身提供的緩存機制不佳。

Mybatis優勢

MyBatis可以進行更為細致的SQL優化,可以減少查詢字段。

MyBatis容易掌握,而Hibernate門檻較高。

一句話總結 Mybatis:小巧、方便、高效、簡單、直接、半自動化

Hibernate:強大、方便、高效、復雜、間接、全自動化

看完上述內容,你們對hibernate和mybatis有什么區別有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

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

AI

龙岩市| 璧山县| 广宗县| 藁城市| 嘉善县| 景宁| 衡东县| 黄梅县| 东乌珠穆沁旗| 广州市| 灌云县| 宜宾县| 武强县| 全南县| 定结县| 云林县| 庆安县| 太和县| 临朐县| 阿拉尔市| 杭锦后旗| 永城市| 吉水县| 广东省| 正阳县| 沁阳市| 桓台县| 太仓市| 安新县| 察哈| 中江县| 井冈山市| 正镶白旗| 通化市| 隆德县| 浦县| 中西区| 鱼台县| 深水埗区| 涡阳县| 钟祥市|