持久化框架Mybatis 和 Hibernate的比较(一)

本文探讨了Hibernate与MyBatis这两种ORM框架的优势与特点。从数据库移植性、缓存机制、SQL优化等方面进行了详细对比,并分析了它们各自适用的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚工作两年,接触了半年hiberate(也就做了一个项目),之后一直用的ibatis和myatis,上学的时候比较喜欢sql,所以遇到mybatis这种纯sql的框架ORM框架就非常推崇,有点鄙视hiberate了,最近突然惊醒,存在即合理,hibernate肯定也要他的强大的地方,所以整理了一下网上的和自己的理解
Hibernate优势
    Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射,Hibernate的hql语句自动就生成了。

    Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便,Hibernate的代码比较简洁。

    Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL,比如分页,mybatis因为SQL是自定义的,所以物理分页的话需要自己针对数据库类型进行判断和分页sql拼接,比如oracle拼个rownum,mysql拼个limit,这样采用切入的实现是最合适的 。

    Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳,但mybatis可以借用第三方缓存去实现业务。

Mybatis优势

    MyBatis可以进行更为细致的SQL优化,可以减少查询字段,Hibernate的后期sql优化需要开发者对Hibernate的掌握比较好才能进行。

    MyBatis容易掌握,只要sql语句掌握的还不错,基本很短时间入门,而Hibernate门槛较高(这里的高是说对她的深入使用,如果只做单纯的小项目,增删改查,hql语句较之于mybatis分分钟秒杀它)。

    Mybatis书写的代码更易于管理者去把控项目的质量,后台语句一目了然

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值