相同点:
两者都是通过Configuration配置文件,sqlSessionFactoryBuilder来创建sqlSessionFactory来创建session,通过session来执行sql以及事物。
不同点:
1.hibernate是全自动ORM框架,mybatis是半自动ORM框架。因为前者关联对象与关联集合和实体对象的映射关系是通过实体关系模型来自动生成的;而后者需要自己手动填写sql以及映射关系。
2.hibernate的日志操作比mybatis更加全面。
3.hibernate的数据库移植性比mybatis好。前者的sql是自动生成的,在一定程度上降低了与程序之间的耦合度;而后者的sql是手动添加的,所以耦合度直接取决于程序员写sql的方法。
4.mybatis在使用上比hibernate更加灵活。
5.mybatis比hibernate更容易优化。因为前者的sql是直接写在xml文件里的,可以直接动手修改维护;而后者的sql是自动生成的,所以无法直接维护。
6.缓存机制上hibernate比mybatis好点。
暂时就能想到这么多了,有什么错误不足可以指出来。
mybatis与hibernate的区别
最新推荐文章于 2022-03-09 22:28:05 发布