欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

hibernate和mybatis的区别?

程序员文章站 2022-05-26 15:17:56
<<< 相同点 >>> 1、Hibernate与MyBatis 都可以通过SessionFactoryBuilder 由 XML 配置文件生成SessionFactory, 然后再由SessionFactory 生成Session ,最后又 Session 来开启执行事务和SQL语句。 Sessio ......

<<< 相同点 >>>

  1、hibernate与mybatis 都可以通过sessionfactorybuilder 由 xml 配置文件生成sessionfactory, 然后再由sessionfactory 生成session ,最后又 session 来开启执行事务和sql语句。 session, sessionfactory ,sessionfactory的生命周期都是差不多的。

  2、二者都支持jdbc和jta事务处理。

<<< 不同点 >>>

  1、mybatis 可以进行更加细致的优化,可以选择性的查询需要的字段。同时对多张表操作时,mybatis更加具有优势。

  2、mybatis容易掌握,hibernate 比较难以掌握,比如hibernate虽然可以不写sql语句完成增删改查的操作,却需要按照既定的命名格式命名,学习成本高。

  3、hibernate 对增删改查对象维护更加容易,效率也更高。

  4、hibernate的数据库移植性更加好,可以通过修改方言完成数据库的更改,hibernate将根据方言自动生成符合的sql语句。mybatis的数据库移植性不好,更改完数据库后需要去一个一个的更改每条sql语句,耗时耗力。

  5、hibernate有更好的二级缓存机制, 可以使用第三方缓存。mybatis自身提供的缓存机制不够方便。