Mybatis与Hibernate的对比

作者: 刘阳0292 | 来源:发表于2017-06-02 11:14 被阅读56次

    两者相同点

    Hibernate与MyBatis都可以是通过SessionFactoryBuider由XML配置文件生成SessionFactory,然后由SessionFactory 生成Session,最后由Session来开启执行事务和SQL语句。其中SessionFactoryBuider,SessionFactory,Session的生命周期都是差不多的。如下图所示:


    Hibernate和MyBatis都支持JDBC和JTA事务处理。

    Hibernate优势

    • Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。
    • Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。
    • Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。
    • Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳。

    Mybatis优势

    • MyBatis可以进行更为细致的SQL优化,可以减少查询字段。
    • MyBatis容易掌握,而Hibernate门槛较高。

    总结:

    Mybatis:小巧、轻便、高效、简单、直接、半自动化
    Hibernate:强大、方便、高效、复杂、间接、全自动化

    参考资料

    mybatis官网文档
    【持久化框架】Mybatis与Hibernate的详细对比

    相关文章

      网友评论

        本文标题:Mybatis与Hibernate的对比

        本文链接:https://www.haomeiwen.com/subject/pkqhzttx.html