SpringDataJPA(ORM对象关系映射框架)

  1. JPA,SpringDataJPA,hibernate的关系

a)       JPA仅仅是一种规范(相当于我们平时说的接口),而hibernate是JPA的一个实现,而SpringDataJPA就是对JPA的进一步封装

  1. 数据的操作

a)       批量查询时,定义一个List,list里面传入要查询个数等。

b)       分页加排序的时候,先获取到排序对象,然后获取分页对象,将排序对象传到分页对象里面,然后将分页对象传到查询语句中

  1. Spring集成SpringDataJPA

a)       导包(一定要导入SpringDataJPA的两个核心包jpa-spec,spring-data-jpa)

b)       配置ApplicationContext.xml文件

c)        完成repository的功能

                     i.            自定义的Repository接口去继承JpaRepository接口,就包含了许多操作数据库的方法,

                   ii.            Spring Data JPA的七个Repository接口:

Repository(org.springframework.data.repository.Repository)
CrudRepository(org.springframework.data.repository.CrudRepository)
PagingAndSortingRepository(org.springframework.data.repository.PagingAndSortingRepository)
JpaRepository (org.springframework.data.jpa.repository.JpaRepository)
QueryByExampleExecutor(org.springframework.data.repository.query.QueryByExampleExecutor)
JpaSpecificationExecutor (org.springframework.data.jpa.repository.JpaSpecificationExecutor)
QueryDslPredicateExecutor (org.springframework.data.querydsl.QueryDslPredicateExecutor)
 
两大Repository实现类:
SimpleJpaRepository(org.springframework.data.jpa.repository.support.SimpleJpaRepository)
QueryDslJpaRepository(org.springframework.data.jpa.repository.support.QueryDslJpaRepository)

                  iii.            @Query注解查询

  1. 将@Query注解打到repository方法上面即可

                  iv.            JpaSpecification[Office1] Executor[Office2] 

  1. 这个接口的方法全都要传入一个Specification[Office3] 对象
  2. Query查询条件的抽取

a)       BaseQuery的抽取

                                                        i.            抽取出排序的方法和获取Specification[Office4] 的一个抽象方法

                                                      ii.            DomainQuery继承BaseQuery赋写Specification[Office5] 的方法,添加查询的条件。

猜你喜欢

转载自www.cnblogs.com/8888-lhb/p/11291886.html