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项目等。

     

  • 相关阅读:
    发送电子邮件
    PHP Session
    Cookie
    Python基础语法
    Python中文编码
    Python简介
    PHP文件上传
    基于1.22.1版本的k8s部署
    k8s基于NFS创建动态存储StorageClass
    关于在k8s-v1.20以上版本使用nfs作为storageclass出现selfLink was empty, can‘t make reference
  • 原文地址:https://www.cnblogs.com/aihuadung/p/10467609.html
Copyright © 2011-2022 走看看