多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 29.3.2. Spring Data JPA仓库 Spring Data JPA仓库(repositories)是用来定义访问数据的接口。根据你的方法名,JPA查询会被自动创建,比如,一个`CityRepository`接口可能声明一个`findAllByState(String state)`方法,用来查找给定状态的所有城市。 对于比较复杂的查询,你可以使用Spring Data的[`Query`](http://docs.spring.io/spring-data/jpa/docs/current/api/org/springframework/data/jpa/repository/Query.html)注解你的方法。 Spring Data仓库通常继承自[`Repository`](http://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/repository/Repository.html)或[`CrudRepository`](http://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/repository/CrudRepository.html)接口。如果你使用自动配置,Spring Boot会搜索主配置类(注解`@EnableAutoConfiguration`或`@SpringBootApplication`的类)所在包下的仓库。 下面是典型的Spring Data仓库: ```java package com.example.myapp.domain; import org.springframework.data.domain.*; import org.springframework.data.repository.*; public interface CityRepository extends Repository<City, Long> { Page<City> findAll(Pageable pageable); City findByNameAndCountryAllIgnoringCase(String name, String country); } ``` **注**:我们仅仅触及了Spring Data JPA的表面,具体查看它的[参考指南](http://projects.spring.io/spring-data-jpa/)。