当前ORM框架的产品有很多,常见的有Hibernate和MyBatis两种框架。
一、Hibernate
是一个全表映射的框架。通常开发者只需要定义好持久化对象到数据库表的映射关系,就可以通过Hibernate提供的方法完成持久层操作。开发者不需要熟练的掌握SQL语句的编写,Hibernate会根据制定的存储逻辑,自动生成对应的SQL,并调用JDBC接口来执行,所以其开发效率会高于MyBatis。然而Hibernate自身也存在着一些缺点,例如,它在多表关联时,对SQL查询的支持较差;更新数据时,需要发送所有字段;不支持存储过程;不能通过优化SQL来优化性能等,这些问题导致其只适合在场景不太复杂且对性能要求不高的项目中使用。
二、MyBatis
是一个半自动映射的框架。这里所谓的“半自动”是相当于Hibernate全表映射而言的,MyBatis需要手动匹配提供POJO、SQL和映射关系,而Hibernate只需要提供POJO和映射关系即可。与Hibernate相比,虽然使用MyBatis手动编写SQL要比使用Hibernate的工作量大,但MyBatis可以配置动态SQL并优化SQL,可以通过配置决定SQL的映射规则,它还支持存储过程等。对于一些复杂的和需要优化性能的项目来说,显然MyBatis更合适。
Hibernate 和 MyBatis 的区别?
最新推荐文章于 2022-09-21 19:21:54 发布