1.
hibernate是一个完全的orm框架,利用的是完全面向对象的思想。mybatis是要在mapper.xml中书写sql语句的,
mybatis的执行思路是通过xml配置sql语句,用java对象和sql语句映射最终执行sql语句,再将sql语句映射为java对象
2.
mybatis学习简单,特别是mybatis的逆向工程,可以一步生成,然后使用example可以简洁开发。
hibernate有自己的hql和离线查询对象,语法不是纯生态的sql语句。
3.
hibernate可以做到数据库无关,对于oracle和mysql基本可以做到无影响,因为是面向对象思想,写法差不多
mybatis做不到数据库无关,因为他是写sql语句的,而oracle和mysql语法不通,通常如果换库,需要换一整套的配套文件。
总之,hibernate和mybatis都是特别好的关于Dao层的框架,hibernate学习门槛高一点,要对于面向对象思想的了解,mybatis相对简单一点,而且存在逆向工程,开发更为便捷。