zoukankan      html  css  js  c++  java
  • mybatis_08 mybatis与hibernate的区别

    这个问题常常被面试官当做面试题

    mybatis与hibernate喜忧参半,各有特点

    Mybatis技术特点:

    好处:

    1、  通过直接编写SQL语句,可以直接对SQL进行性能的优化;

    2、  学习门槛低,学习成本低。只要有SQL基础,就可以学习mybatis,而且很容易上手;

    3、  由于直接编写SQL语句,所以灵活多变,代码维护性更好。

    缺点:

    4、  不能支持数据库无关性,即数据库发生变更,要写多套代码进行支持,移植性不好。

    a)         Mysql:limit

    b)         Oracle:rownum

    5、  需要编写结果映射。

    Hibernate技术特点:

    好处:

    1、  标准的orm框架,程序员不需要编写SQL语句。

    2、  具有良好的数据库无关性,即数据库发生变化的话,代码无需再次编写。

    a)         以后,mysql数据迁移到oracle,只需要改方言配置

    缺点:

    3、  学习门槛高,需要对数据关系模型有良好的基础,而且在设置OR映射的时候,需要考虑好性能和对象模型的权衡。

    4、  程序员不能自主的去进行SQL性能优化。

     

     

    Mybatis应用场景:

    需求多变的互联网项目,例如电商项目。

    Hibernate应用场景:

    需求明确、业务固定的项目,例如OA项目、ERP项目等。

     

  • 相关阅读:
    JS使用 popstate 事件监听物理返回键
    JQ判断div是否隐藏
    SQL Server DATEDIFF() 函数
    取消a或input标签聚焦后出现虚线框
    C#定时任务
    C# 保留N位小数
    C#打印单据
    SQL语句创建函数
    SVN检出新项目
    解决jQuery的toggle()的自动触发问题
  • 原文地址:https://www.cnblogs.com/aihuadung/p/10467609.html
Copyright © 2011-2022 走看看