Dao继承JpaRepository 、 JpaSpecificationExecutor 接口

发布时间 2023-08-02 15:31:45作者: E-青稞
@Repository
public interface UserRepository extends JpaRepository<User, Integer> {
    xxx...
}

关于Dao继承JpaRepository:

前要:

Jpa:JPA是Spring提供的一种ORM,

ORM: 对象关系映射(Object Relational Mapping,简称ORM), 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式,也就是数据库表与后端pojo对应的关系;

概述:

JpaRepository继承了接口PagingAndSortingRepository和QueryByExampleExecutor。而PagingAndSortingRepository又继承CrudRepository。
因此,JpaRepository接口同时拥有了基本CRUD功能以及分页功能。

当我们需要定义自己的Repository接口的时候,我们可以直接继承JpaRepository,从而获得SpringBoot Data JPA为我们内置的多种基本数据操作方法。

 

JpaRepository 和 JpaSpecificationExecutor的区别

  JpaRepository 接口是我们开发时使用的最多的接口。其特点是可以帮助我们将其他接口的方法的返回值做适配处理。可以使得我们在开发时更方便的使用这些方法。

public interface UserDao extends JpaRepository<Users,Integer> {

}

  JpaSpecificationExecutor接口,完成多条件查询,并且支持分页与排序。不能够单独使用,需要和其他接口一块使用

public interface UserDao extends JpaRepository<Users, Integer>, JpaSpecificationExecutor<Users> {

}

 

https://cloud.tencent.com/developer/article/1429349