zoukankan      html  css  js  c++  java
  • JPA,Hibernate,ibatis(mybatis)如何选用?

    转自:http://t.51jdy.cn/thread-259-1-1.html

    传统的 业务系统,通常业务都比较复杂,懂业务的运维人员 对sql查询工具都比较熟悉。
    这种以 数据库 为主的 业务场景 使用 以sql为主的持久层框架 例如:ibatis,mybatis
    这种 性能优化的时候 sql 语句调整较为方便,甚至 业务人员 会直接提供 业务对于的 sql给开发人员。

    对于快速迭代的中小型 新项目,适合使用hibernate(JPA + hibernate驱动)。
    快速迭代 适合 使用面向对象的 持久层框架。在开发过程中 对象的变更非常频繁。
    这种 持久层框架 适合 快速 重构 ,提高开发效率。
    但是 这种框架 易学难精,用的不好就容易造成性能问题,用的好性能并不输于ibatis框架。
    在做性能优化方面 可借助 缓存实现。  

    Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉得要用好Mybatis还是首先要先理解好Hibernate。

    Mybatis优势
    • MyBatis可以进行更为细致的SQL优化,可以减少查询字段。
    • MyBatis容易掌握,而Hibernate门槛较高。
    Hibernate优势
    • Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。
    • Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。
    • Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。
    • Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳。


    作者:乌拉拉
    链接:https://www.zhihu.com/question/21104468/answer/58579295
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
     
     
    Hibernate全自动机枪,MyBatis半自动机枪,然后在高速射击数据库子弹的情况下,Hibernate容易卡壳,那时你就会说原来还是myBatis靠谱。。。
  • 相关阅读:
    性能测试监控指标-数据库
    cpu 故障定位
    ubuntu安装boost
    固定IP下虚拟机网卡配置及ssh
    零基础天池新闻推荐初学-04-排序模型+模型融合的简单学习(TODO 待进一步完善)
    零基础天池新闻推荐初学-04-特征工程(制作特征列和标签列,转为监督学习)
    零基础天池新闻推荐初学-03-多路召回
    零基础天池新闻推荐初学-02-数据分析
    零基础天池新闻推荐初学-01-赛题理解&Baseline
    初学推荐系统-06- GBDT+LR模型
  • 原文地址:https://www.cnblogs.com/zhanying999666/p/7284314.html
Copyright © 2011-2022 走看看