什么么是JPA?spring
全称Java Persistence API,能够经过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。数据库
为咱们提供了:springboot
1)ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;框架
如:@Entity、@Table、@Column、@Transient等注解。maven
2)JPA 的API:用来操做实体对象,执行CRUD操做,框架在后台替咱们完成全部的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。3d
如:entityManager.merge(T t);对象
3)JPQL查询语言:经过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。blog
如:from Student s where s.name = ?排序
可是:接口
JPA仅仅是一种规范,也就是说JPA仅仅定义了一些接口,而接口是须要实现才能工做的。因此底层须要某种实现,而Hibernate就是实现了JPA接口的ORM框架。
也就是说:
JPA是一套ORM规范,Hibernate实现了JPA规范!如图:
什么是spring data jpa?
spirng data jpa是spring提供的一套简化JPA开发的框架,按照约定好的【方法命名规则】写dao层接口,就能够在不写接口实现的状况下,实现对数据库的访问和操做。同时提供了不少除了CRUD以外的功能,如分页、排序、复杂查询等等。
Spring Data JPA 能够理解为 JPA 规范的再次封装抽象,底层仍是使用了 Hibernate 的 JPA 技术实现。如图:
接口约定命名规则:
实例:
springboot集成spring data jpa只需两步:
第一步:导入maven坐标
第二步:yml配置文件中配置jpa信息
--完--