Spring Data Jpa 查询操作的基本实现(Spring Data Jpa 2)
2016-10-27 15:13
776 查看
基于方法名解析的概念
JpaRepository支持接口规范方法名查询。意思是如果在接口中定义的查询方法符合它的命名规则,就可以不用写实现。例如: findByName这个方法表示从数据库中查询Name这个属性等于XXX的所有记录,类似于SQL语句: select* from xxTable where name=xxx 这种形式
这段话有两个重点:
方法名需要在接口中设定
必须符合一定的命名规范
查询操作的基本实现 —方法名构造方法
find+全局修饰+By+实体的属性名称+限定词+连接词+ …(其它实体属性)+OrderBy+排序属性+排序方向
例如:
findDistinctByFirstNameIgnoreCaseAndLastNameOrderByAgeDesc(String firstName,String lastName){......}
其中: Distinct是全局修饰(非必须), FirstName和LastName是实体的属性名,
And是连接词, IgnoreCase是限定词, Age是排序属性, Desc是排序方向,限定词
和连接词统称为“ 关键词”
JpaRepository常用接口方法:
delete删除或批量删除
findAll查找所有
findOne查找单个
save保存单个或批量保存
saveAndFlush保存并刷新到数据库
目前支持的关键词
常用词如下:全局修饰: Distinct, Top, First 关键词: IsNull, IsNotNull, Like, NotLike, Containing, In, NotIn, IgnoreCase, Between, Equals, LessThan, GreaterThan, After, Before... 排序方向: Asc, Desc 连接词: And, Or
更多关键词请查看官方在线文档:
http://docs.spring.io/spring-data/jpa/docs/1.7.2.RELEASE/reference/html/
嵌套实体方法命名规则
构词法:主实体中子实体的名称+ _ +子实体的属性名称例如: List findByAddress_ZipCode(ZipCode zipCode)
表示查询所有 Address(地址)的zipCode(邮编)为指定值的所有Person(人员)
相关文章推荐
- Spring Data JPA实现动态条件与范围查询实例代码
- 在Spring Boot中使用Spring-data-jpa实现分页查询(转)
- SpringMVC+Spring Data JPA实现增删改查操作
- SpringMVC+Spring Data JPA +Bootstrap 分页实现和模糊查询分页
- 在Spring Boot中使用Spring-data-jpa实现分页查询
- 在Spring Boot中使用Spring-data-jpa实现分页查询
- 在Spring Boot中使用Spring-data-jpa实现分页查询
- 在Spring Boot中使用Spring-data-jpa实现分页查询
- 在Spring Boot中使用Spring-data-jpa实现分页查询
- 在Spring Boot中使用Spring-data-jpa实现分页查询
- 【spring data jpa】带有条件的查询后分页和不带条件查询后分页实现
- 【java】spring-data-jpa 集成hibernate实现多条件分页查询
- spring data jpa实现分页查询功能
- 【spring data jpa】带有条件的查询后分页和不带条件查询后分页实现
- SpringBoot中使用Spring Data Jpa 实现简单的动态查询的两种方法
- Spring MVC结合Spring Data JPA实现按条件查询和分页
- 【spring data jpa】带有条件的查询后分页和不带条件查询后分页实现
- SpringData JPA 实现动态条件查询
- 在Spring Boot中使用Spring-data-jpa实现分页查询
- 在Spring Boot中使用Spring-data-jpa实现分页查询