hibernate:
是一个标准的ORM框架(对象关系映射)。入门门槛较高,不需要程序写sql语句,sql语句自动生产了。
特点:
对sql的优化比较困难。
Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。
Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。
Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳
应用场景:
适用与需求变化不多的中小型项目中,比如后台管理,OA项目,ERP项目;
mybatis:
mybatis是一个不完全的ORM框架,虽然程序员自己写sql,mybatis也可以实现映射(输入映射,输出映射)。
特点:
由于直接编写SQL语句,所以灵活多变,代码维护性更好。
专注于sql本身,需要程序员自己编写sql语句,sql修改,优化比较方便。
试用场景:
适用于需求变化较多的项目,比如:互联网项目。