在JPA(Java Persistence API)中,JpaRepository 接口是 Spring Data JPA 提供的一个通用仓库接口,它为我们提供了一系列默认的方法,这些方法是基于常见的 CRUD(创建、读取、更新、删除)操作进行的。JpaRepository 默认提供的一些常见方法如下:
-
基本 CRUD 方法:
save(entity)
: 保存单个实体对象或更新已存在的实体对象。saveAll(entities)
: 批量保存实体对象。findById(id)
: 根据实体的主键查找实体对象。existsById(id)
: 检查是否存在指定主键的实体对象。findAll()
: 获取所有实体对象的列表。findAllById(ids)
: 根据主键列表批量查询实体对象。count()
: 统计实体对象的总数。deleteById(id)
: 根据主键删除实体对象。delete(entity)
: 删除单个实体对象。deleteAll(entities)
: 批量删除实体对象。deleteAll()
: 删除所有实体对象。
-
分页和排序查询方法:
findAll(Pageable pageable)
: 分页查询实体对象列表。findAll(Sort sort)
: 排序查询实体对象列表。
-
Query By Example(按示例查询):
findAll(Example<S> example)
: 根据示例对象查询满足条件的实体对象列表。findAll(Example<S> example, Sort sort)
: 根据示例对象查询满足条件的实体对象列表并排序。findAll(Example<S> example, Pageable pageable)
: 根据示例对象分页查询满足条件的实体对象列表。
这些方法是 JpaRepository 提供的默认方法,它们使得在大多数情况下,我们无需自己编写查询逻辑,就能完成常见的数据操作。
如果需要自定义更复杂的查询,我们可以在接口中定义新的方法,并使用特定的命名规则,Spring Data JPA 将会自动根据方法名生成对应的查询语句。