`

spring data jpa 方法中可用的关键字

阅读更多

spring data jpa 支持以方法名进行查询/删除/统计。

查询的关键字为find

删除的关键字为delete/remove (>=1.7.x)

统计的关键字为count (>=1.7.x)

 

修改需要使用@Modifying注解

@Modifying
@Query("update User u set u.firstname = ?1 where u.lastname = ?2")
int setFixedFirstnameFor(String firstname, String lastname);

 

 

在确定查询/删除/统计后,在方法名后跟上限定关键字完成SQL中where条件的功能。

比如:

 

SysUser findByUsername(String username);

 

 

目前支持的限定关键字有:

Keyword Sample JPQL snippet

And

findByLastnameAndFirstname

… where x.lastname = ?1 and x.firstname = ?2

Or

findByLastnameOrFirstname

… where x.lastname = ?1 or x.firstname = ?2

Is,Equals

findByFirstname,findByFirstnameIs,findByFirstnameEquals

… where x.firstname = 1?

Between

findByStartDateBetween

… where x.startDate between 1? and ?2

LessThan

findByAgeLessThan

… where x.age < ?1

LessThanEqual

findByAgeLessThanEqual

… where x.age ⇐ ?1

GreaterThan

findByAgeGreaterThan

… where x.age > ?1

GreaterThanEqual

findByAgeGreaterThanEqual

… where x.age >= ?1

After

findByStartDateAfter

… where x.startDate > ?1

Before

findByStartDateBefore

… where x.startDate < ?1

IsNull

findByAgeIsNull

… where x.age is null

IsNotNull,NotNull

findByAge(Is)NotNull

… where x.age not null

Like

findByFirstnameLike

… where x.firstname like ?1

NotLike

findByFirstnameNotLike

… where x.firstname not like ?1

StartingWith

findByFirstnameStartingWith

… where x.firstname like ?1(parameter bound with appended %)

EndingWith

findByFirstnameEndingWith

… where x.firstname like ?1(parameter bound with prepended %)

Containing

findByFirstnameContaining

… where x.firstname like ?1(parameter bound wrapped in%)

OrderBy

findByAgeOrderByLastnameDesc

… where x.age = ?1 order by x.lastname desc

Not

findByLastnameNot

… where x.lastname <> ?1

In

findByAgeIn(Collection<Age> ages)

… where x.age in ?1

NotIn

findByAgeNotIn(Collection<Age> age)

… where x.age not in ?1

True

findByActiveTrue()

… where x.active = true

False

findByActiveFalse()

… where x.active = false

IgnoreCase

findByFirstnameIgnoreCase

… where UPPER(x.firstame) = UPPER(?1)

 

reference: http://docs.spring.io/spring-data/jpa/docs/1.8.1.RELEASE/reference/html/#specifications

 

分享到:
评论

相关推荐

    Spring Data JPA中文文档[1.4.3]_springdatajpa_erlang_waitxpf_

    Spring Data JPA 提供了内置的支持,可以在查询方法中通过 `Pageable` 参数实现分页和排序。 5. **Auditing**:Spring Data JPA 提供了审计功能,可以自动记录实体的创建时间和修改时间。这可以通过 `@CreatedDate`...

    Spring Data JPA API(Spring Data JPA 开发文档).CHM

    Spring Data JPA API。 Spring Data JPA 开发文档。 官网 Spring Data JPA API。

    Spring Data JPA 笔记

    1. **实体(Entities)**:在Spring Data JPA中,实体是数据库表的映射。通过在类上添加`@Entity`注解,我们可以声明一个Java类为数据库表的代表。`@Id`注解用于标识主键字段。 2. **Repository**:Repository是...

    spring注解+spring data jpa文档+JPA文档.rar

    "spring data jpa官方文档中文翻译"则提供了Spring Data JPA的详细指南,包括其设计原理、基本概念、使用方法和最佳实践。"JPA2.0官方文档"则深入讲解了JPA规范的各个方面,包括实体管理、查询、事务和并发控制等。 ...

    Spring Data JPA的优点和难点.pdf

    Spring Data JPA是Spring生态中的一个强大ORM框架,它极大地提高了Java开发者在处理数据库操作时的效率。Spring Data JPA的主要优点在于其高度的开发效率、成熟的语法结构以及与Spring框架的紧密集成。 1. **开发...

    Spring Data JPA从入门到精通

    'SpringDataJPA从入门到精通'分为12章 内容包括整体认识JPA、JPA基础查询方法、定义查询方法、注解式查询方法、@Entity实例里面常用注解详解、JpaRepository扩展详解、JPA的MVC扩展REST支持、DataSource的配置、乐观...

    Spring Data JPA中文文档[1.4.3].zip

    Spring Data JPA是Java开发中的一个关键框架,它简化了与关系型数据库的交互,特别是基于Java Persistence API (JPA)。这个框架是Spring生态系统的组成部分,为开发者提供了声明式数据访问的方式,允许通过简单的...

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...

    spring data jpa 教程

    JpaRepository 是 Spring Data JPA 中提供的一个基础接口,它扩展自 PagingAndSortingRepository,并且增加了一些额外的、常用的操作方法。通过实现 JpaRepository 接口,开发者可以得到一系列的预定义方法,例如...

    Spring Data JPA.zip

    在项目中引入 Spring Data JPA 和相应的 JPA 实现(如 Hibernate),配置实体扫描路径、数据源、JPA 配置、Repository 扫描等。 **4. 实体类与表的映射** 使用 `@Entity` 注解标记实体类,`@Table` 定义对应的...

    Spring Data JPA Demo

    如果默认的CRUD方法不能满足需求,可以通过在Repository 接口中定义查询方法,Spring Data JPA 会根据方法名自动构建SQL。例如,`findByEmail` 方法会生成一个查找指定邮箱用户的查询。 6. **Service 层** 在业务...

    Spring Data JPA中文文档[1.4.3]

    在Spring Data JPA中,主要包含以下几个核心知识点: 1. **Repository接口**:这是Spring Data JPA的核心特性之一,通过定义一组通用的CRUD(创建、读取、更新、删除)操作接口,开发者可以快速实现数据访问层。...

    springdatajpa.pdf

    在接口中定义的方法名,SpringDataJPA会根据命名规则自动识别该方法需要完成什么操作,并且自动生成相应的实现代码。开发者可以使用如下几种方式来定义接口: 1. 继承`JpaRepository`接口,该接口提供了大量通用的...

    其实spring data jpa比mybatis更好用.zip_JPA mybatis

    在Spring Boot框架中,Spring Data JPA的集成变得更加简单。Spring Boot通过自动配置,可以快速启动一个JPA应用,只需少量甚至无需配置。同时,Spring Boot还支持数据源的自动配置,使得开发者可以快速连接到数据库...

    spring data jpa简单案例

    首先,我们需要在项目中引入 Spring Data JPA 的相关依赖。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加以下依赖: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-data-jpa...

    spring学习:spring data jpa

    2. **Query 方法**:在Repository接口中,可以定义方法名,Spring Data JPA会根据方法名自动构造对应的JPA查询。例如,`findAll()`对应于SQL的`SELECT * FROM table`,`findByUsername(String username)`对应于`...

    springBoot整合springData JPA

    - Entity类:这是JPA中的核心,用来映射数据库表。我们需使用@Entity注解标记实体类,并用@Id注解标识主键字段。 - Repository接口:Spring Data JPA通过Repository接口提供数据库操作。开发者可以自定义接口并继承...

    Spring Boot整合SpringDataJPA

    Spring Data JPA是Spring生态系统中的一个重要组件,它为开发者提供了与JPA(Java Persistence API)交互的简化接口,极大地提高了数据访问的效率。本教程将深入探讨如何在Spring Boot项目中整合Spring Data JPA,...

Global site tag (gtag.js) - Google Analytics