zoukankan      html  css  js  c++  java
  • 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对运行时的项目进行监控

     
  • 相关阅读:
    浅谈CLR CTS CLS。。。
    "每日一道面试题".net托管堆是否会存在内存泄漏的情况
    “每日一道面试题”.Net中GC的运行机制
    “每日一道面试题”.Net中所有类的基类是以及包含的方法
    c# 逆波兰式实现计算器
    c#控制台实现post网站登录
    c#读取xml文件
    .net md5
    ado.net知识整理
    第八章:Python高级编程-迭代器和生成器
  • 原文地址:https://www.cnblogs.com/rzbwyj/p/11597078.html
Copyright © 2011-2022 走看看