1.Hibernate是一个完整的ORM框架,Mybatis是一个不完整的ORM框架
2.Hibernate的学习门槛高,但是Hibernate的学习门槛很高,相对来说,MyBatis比较容易上手,程序员手写Sql就能实现对数据库的控制,不用编写复杂的多表关系的配置文件.
(主要表现为Hibernate不需要写SQL语句,所以迁移简单,但是Mybatis需要自己写SQL语句,灵活性差)
3Hibernate的灵活性差,但是数据库无关性更好,针对不同数据库的兼容性更强,Mybatis的兼容性不强牺牲了数据库的兼容性能.但是灵活性更好.
因此应该根据不同的项目需求来进行项目的选型.
如果是访问量不高,对性能要求不高的内网项目,并且上线时间紧张,需要快速出产品,可以考虑Hibernate.如果是互联网项目,对性能要求很高,就需要使用Mybatis了.