Hibernate与 MyBatis的比较

时间:2021-05-06 17:35:44

第六章 HibernateMybatis对比总结

两者相同点

  • HibernateMyBatis都可以是通过SessionFactoryBuiderXML配置文件生成SessionFactory,然后由SessionFactory 生成Session,最后由Session来开启执行事务和SQL语句。其中SessionFactoryBuiderSessionFactorySession的生命周期都是差不多的。
  • HibernateMyBatis都支持JDBCJTA事务处理。

Mybatis优势

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

Hibernate优势

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

本文来自:http://blog.csdn.net/firejuly/article/details/8190229

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

hibernate是一个高度封装的基于ORM的框架

             对象关系映射能力强,数据库无关性好

             高度封装,不用写SQL,开发的时候简单,缩短开发周期,

              对于关系型数据库要求不高

              缺点:由于是框架生成sql,导致其sql无法优化,并且其应用场景为用户量少,并发量小的项目


Mybatis 不是一个基于ORM的框架

             是一个对jdbc轻量级的封装,相对于Hibernate来说比较简单,

             并且sql灵活并且可以优化,可以通过xml或者注解方法来配置sql,执行效率高,速度快

             可以对复杂的关系型数据库做处理

            缺点:sql灵活意味着代码量大,开发周期慢,应用于互联网企业一般为用户量大,并发量大的项目


转载自:http://blog.csdn.net/anonymousdemo/article/details/76218280