MyBatis框架與Hibernate 框架的區別,SpringMVC和MyBatis區別:


 MyBatis框架與Hibernate 框架的區別

  Hibernate 框架

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

  Mybatis框架

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

  兩者區別

    開發方面

    在項目開發過程當中,就速度而言: 
    - hibernate開發中,sql語句已經被封裝,直接可以使用,加快系統開發; 
    -Mybatis 屬於半自動化,sql需要手工完成,稍微繁瑣; 
    -但是,凡事都不是絕對的,如果對於龐大復雜的系統項目來說,發雜語句較多,選擇hibernate 就不是一個好方案。

    sql優化方面

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

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

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

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

    2.4 緩存方面

    相同點:

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

    不同點:

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

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

    比較: 
    - Hibernate 具有良好的管理機制,用戶不需要關注SQL,如果二級緩存出現臟數據,系統會保存。 
    - Mybatis 在使用的時候要謹慎,避免緩存CAche 的使用。

    Hibernate優勢

  1.Hibernate的DAO層開發比MyBatis簡單,Mybatis需要維護SQL和結果映射。   2.Hibernate對對象的維護和緩存要比MyBatis好,對增刪改查的對象的維護要方便。   3.Hibernate數據庫移植性很好,MyBatis的數據庫移植性不好,不同的數據庫需要寫不同SQL。   4.Hibernate有更好的二級緩存機制,可以使用第三方緩存。MyBatis本身提供的緩存機制不佳。

    Mybatis優勢

   1. .MyBatis可以進行更為細致的SQL優化,可以減少查詢字段。
   2. MyBatis容易掌握,而Hibernate門檻較高。
 
        

   SpringMVC和MyBatis區別:
   (1)SpringMVC和Struts2的加載機制不同
    Struts2和核心是基於一個Filter即StrutsPrepareAndExecuteFilter
   SpringMVC的核心是基於一個Servlet即DispatcherServlet(前端控制器)
  
   (2)SpringMVC在性能上會稍微比struts2快
   Struts2是類級別的攔截,每次來了請求就創建一個Action,然后調用get和set方法把request中的數據注入
   Struts2中一個action對應一個request上下文,action是多例模式(singiton),需要將scope設置為原型模式(prototype

   SpringBoot和SpringMVC的區別
    1.SpringBoot是一個配置工具(快速開發整合包),SpringMVC是基於Spring的一個MVC框架
    2.SpringBoot可以建立獨立的Spring應用程序
    3.內嵌了如Tomcat,Jetty和Undertow這樣的容器,用不着再做部署工作
    4.SpringBoot可以自動配置Spring,降低了項目塔鍵的復雜度
    5.提供了POM文件可以就愛你華Maven配置
    6.SpringBoot提供了基於Http,SSH,telnet對運行時的項目進行監控

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM