初学JPA和Mybatis 进行小小的总结
理论上的对比:
JAP 是Springboot 自带的处理数据访问的框架,是springdata 的一个子模块;springboot 中JPA的默认实现是:Hibernate ;所以本质上要对比的就是:Hibernate和Mybatis
Hibernate:
我们再看看hibernate的官方概念,Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行非常
轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动
生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Mybatis
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有
的JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,
将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
从本质上来看来个框架的区别还是很大的:Mybatis 是面向关系的;JPA是面向对象的:面向对象致力于解决计算机逻辑问题,而关系模型致力于解决数据的高效存取问题
更详细的分析:https://blog.youkuaiyun.com/yunzhonmghe/article/details/78069449
从概念到使用方法:
-
都要进行基本的数据库,数据源的配置
-
编写实体类
Mybatis 使用实体类来进行结果集的封装,JPA中实体类和数据库中的数据表绑定,JPA自动创建数据表,查询进行结果集的封装
; -
Mybatis :编写 接口@Mapper【加上@Respository 】
编写方法和sql 语句(注解版) || 编写方法,配置文件(配置文件版,在配置文件中编写sql 语句)
;
JPA:编写xxxRepository接口:继承JpaRepository
这是主要的部分(web 项目框架中的Dao 层) -
配置文件的完善
mybatis 使用注解完成数据访问需要的配置文件部分只有:数据源的配置
,使用文件初始化数据库的文件【xx.sql/schema.sql】
mybatis 使用配置文件玩昵称数据访问的配置文件部分:
数据源配置
,mybatis-config.xml 全局配置,xxxMapper.xml sql 语句映射配置
,还要在application.yml 配置上全局配置和sql 映射文件的位置
JPA中的配置文件:
数据源配置
,在appliction.yml 文件中配置数据表的创建方式和其他你想要的配置