一直回答Mybatis比Hibernate好,经过一番考证,事实上Hibernate才是更强大的。
国人使用Mybatis,为了满足变化不断的需求,容易修改sql。再加上,Mybatis更加容易上手,门槛低。
Hibernate的一些优点
1、hibernate是全自动映射,而mybatis是半自动
hibernate的O/R Mapping 实现了对象和数据库表之间的映射,以及sql的自动生成和执行。程序员只需要定义好POJO到数据库表的映射关系,即可通过hibernate提供的方法完成持久层操作。hibernate会根据制定的存储逻辑,自动生成对应的sql并调用JDBC接口加以执行。
2、hibernate数据库移植性好
hibernate通过它强大的映射结构和hql语言,不需要去关心底层数据库语句。mybatis由于需要手写sql,因此与数据库的耦合性直接取决于程序员写sql的方法。
3、hibernate拥有完整的日志系统,mybatis则欠缺一些
hibernate有sql记录、关系异常、优化警告、缓存提示、脏数据警告;mybatis记录很简单。
4、Mybatis,容易修改sql语句,适合不断变更的需求。。。