save(S entity)
:保存实体findById(ID id)
:根据 ID 查找findAll()
:查找所有count()
:统计总数delete(T entity)
:删除实体existsById(ID id)
:判断是否存在PagingAndSortingRepository
声明接口
继承 Repository
或其子接口,并指定实体类型和主键类型,例如:
interface PersonRepository extends Repository<Person, Long> { … }
在接口里写查询方法
按命名规则声明方法即可,Spring 会自动实现:
List<Person> findByLastname(String lastname);
让 Spring 生成代理实现
@EnableJpaRepositories
(或对应存储模块的注解)<repositories base-package="com.acme.repositories"/>
,根据存储更换命名空间(如 mongodb
)。注入并使用
@RequiredArgsConstructor
class SomeClient {
private final PersonRepository repository;
void doSomething() {
List<Person> persons = repository.findByLastname("Matthews");
}
}