Hibernate和Mybatis都是orm对象关系映射框架,都是用于将数据持久化的框架技术。 Hiberante较深度的封装了jdbc,对开发者写sql的能力要求的不是那么的高, 我们只要通过hql语句操作对象即可完成对数据持久化的操作了。 另外hibernate可移植性好,如一个项目开始使用的是mysql数据库,但是随着业务的发展, 现mysql数据库已经无法满足当前的绣球了,现在决定使用Oracle数据库, 虽然sql标准定义的数据库间的sql语句差距不大,但是不同的数据库sql标准还是有差距的, 那么我们手动修改起来会存在很大的困难,使用hibernate只需改变一下数据库方言即可搞定。 用hibernate框架,数据库的移植变的非常方便。 但是hibernate也存在着诸多的不足,比如在实际开发过程中会生成很多不必要的sql语句耗费程序资源, 优化起来也不是很方便,且对存储过程支持的也不够太强大。但是针对于hibernate它也提供了一些优化策略, 比如说懒加载、缓存、策略模式等都是针对于它的优化方案。 Mybatis 也是对jdbc的封装,但是封装的没有hibernate那么深,我们可以再配置文件中写sql语句, 可以根据需求定制sql语句,数据优化起来较hibernate容易很多。 Mybatis要求程序员写sql的能力要相对使用hibernate的开发人员要高的多,且可移植性也不是很好。 涉及到大数据的系统使用Mybatis比较好,因为优化较方便。涉及的数据量不是很大且对优化没有那么高,可以使用hibernate
转载于:https://my.oschina.net/u/3057758/blog/790716