我爱编程

MyBatis和Hibernate的优缺点对比

2018-04-12  本文已影响0人  代码编写者C

Hibernate:
优点:
1、全自动,hibernate完全可以通过实体bean来完成数据库操作,不用写sql;
2、有良好得二级缓存机制,默认用用的是sessionfactoryimpl的cacheimpl子类去实现的,可以使用第三方缓存框架:ehcache等;
3、数据库移植性好;
4、支持级联操作,更新、删除、查询等
缺点:
1、学习、精通门槛较高;
2、sql都是自动生成的,遇到报表统计的需求hql查询有局限性;

MyBatis:
优点:
1、易于上手,对于对象模型没有高的要求;
2、写sql语句操作,并且定义在xml中也可以解除sql语句与程序代码的耦合;
3、支持动态sql;
4、速度相对hibernate快;
5、提供映射标签,例如:select、update、delete、等;
缺点:
1、表、字段多的时候,sql编写的工作量较大;
2、sql依赖于数据库,导致数据库移植性差;
3、由于xml中的id必须唯一,所以dao中的方法不支持重载;
4、数据组装工作量较大;
5、不支持级联操作;
6、动态sql不方便调试,尤其是逻辑复杂时;

上一篇下一篇

猜你喜欢

热点阅读