hibernate和mybatis的区别?
程序员文章站
2023-08-12 10:37:07
<<< 相同点 >>> 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自身提供的缓存机制不够方便。