hibernate和mybatis
使用场景:
hibernate适用于一些需求变化不多的项目,比如:某某后台管理系统,学生管理系统,OA等。
mybatis使用与一些需求变化比较多的项目,比如:电商平台等互联网项目
共同点:都是一个持久层框架
区 别:1.hibernate是一个标准的orm框架,全自动的,而mybatis是半自动的。
hibernate是一个标准的orm框架,完全可以根据自己的对象关系模型来操作数据,而mybatis也有自己的映射关系,就是输入映射和输出映射,但是SQL语句,对数据的操作却是需要自己去写,所以mybatis是半自动的。
2.hibernate的移植性要优于mybatis
因为hibernate对数据的操作不依赖与数据库,所以可以实现移植性比较高,而mybatis编写SQL语句的时候,需要根据具体数据库来 编写,
3.mybatis的SQL的优化比hibernate做得好
因为hibernate专注于对象,屏蔽了数据库,所以有的时候对SQL语句进行优化就不那么如人意,而mybatis专注于SQL本身,对于项目的灵活度和SQL的优化可以做的很好。
性能:
hibernate动态生成整条sql语句,不必关心不同数据库的特性,而又重量级封装对象模型,比mybatis性能稍慢。
总结:
mybatis:小巧、方便、高效、简单、直接、半自动
hibernate:强大、方便、高效、复杂、绕弯子、全自动