hibernate和mybatis都是用来持久化的框架,hibernate是可以自动生成sql语句的,但是在针对比较复杂的查询操作时,hibernate自动生成的sql语句会将所有字段都查询出来,所以在对数据库建表的时候需要花很大的精力,否则会影响性能。mybatis它是通过自己手写的sql,所以只要掌握了sql语句,使用起来就比较方便了。对于简单的增删改操作,使用hibernate进行开发可以更加的快速。hibernate相当于全自动的,而mybatis需要自己手写sql相当于半自动。
在sql优化上,mybatis的sql语句是写在xml配置文件中,可以直接优化sql语句,而hibernate的sql语句很多都是自动生成的,不方便直接维护sql。