mybatis和Hibernate的区别

1.什么是Hibernate

Hibernate是关系型映射框架(ORM),程序员只要定义好实体到数据库的映射关系,即可通过Hibernate提供的方法完成持久层的操作,不需要对sql熟练掌握,Hibernate会根据存储逻辑,自动生成对应的sql,并调用jdbc接口加以执行

2.什么是Mybatis

Mybatis是持久层框架,侧重于实体和sql之间的映射关系,通过映射配置文件,将sql所需得参数,以及返回得结果字段映射到指定得实体

3.不同点

高级查询
Mybatis:手动编写sql以及resultmap
Hibernate:有良好得映射机制,无需关心sql的生成与结果映射

SQL优化
Mybatis:sql是自己手动编写,按需查询指定字段
Hibernate:会将表中所有的字段都查询出来,消耗性能

扩展性方面
Mybatis:sql语句依赖所配置的数据库,不同数据库类型支持不好
Hibernate:与具体数据库的关联只要在XML中配置文件即可,所有的HQL语句与使用的数据库无关,移植性好

你可能感兴趣的:(sql类)