您的位置:首页 > 其它

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

2016-08-09 17:02 344 查看
刚工作两年,接触了半年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书写的代码更易于管理者去把控项目的质量,后台语句一目了然
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: