简析Hibernate和MyBatis的区别?

文章目录

    • 1、开发速度:
    • 2、开发的工作量:
    • 3、Sql优化:
    • 4、可扩展性:

1、开发速度:

MyBatis更容易上手,相对Hibernate来说更简单一些。

2、开发的工作量:

针对高级查询,Mybatis需要手动编写SQL语句,以及ResultMap。而Hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于业务流程。

3、Sql优化:

Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。而Mybatis的SQL是手动编写的,所以可以按需求指定查询的字段。

4、可扩展性:

Hibernate与具体数据库的关联只需在XML文件中配置即可,所有的HQL语句与具体使用的数据库无关,移植性很好。MyBatis项目中所有的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好。

你可能感兴趣的:(java基础知识,数据库,mybatis)