版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/295.html

JPA  的查询有很多丰富的API,基本能满足了所有的基本查询。下面来想细说说支持的查询方式。

根据方法名字生成SQL语句(根据方法名查询)。

public interface UserRepository extends Repository<User, Long> {List<User> findByEmailAddressAndLastname(String emailAddress, String lastname);
}

我们将使用JPA criteria API创建一个查询,但本质上这转换为以下查询:

select u from User u where u.emailAddress = ?1 and u.lastname = ?2

Spring Data  JPA  将执行属性检查并遍历属性表达式中描述的嵌套属性。下面是  JPA  支持的关键字的概述,以及包含该关键字的方法的本质含义。

SQL关键词想细介绍

关键词 Demo JPQL 语句片段
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)

自己可以各种尝试。

Spring JPA查询,JPA 根据方法名字查询详细介绍相关推荐

  1. 高并发架构系列:Spring Cloud的核心成员、以及架构实现详细介绍

    高并发架构系列:Spring Cloud的核心成员.以及架构实现详细介绍 什么是微服务 微服务的概念源于Martin Fowler所写的一篇文章"Microservices". 微 ...

  2. android飞行模式开启wifi,手机在飞行模式下怎么使用WiFi? 飞行模式下开启WiFi的方法图文教程详细介绍[多图]...

    类型: 大小: 评分: 平台: 标签: 手机在飞行模式下怎么使用WiFi?相信很多朋友都还不太清楚吧?没关系,下面是友情小编搜集相关资料整理出来的手机在飞行模式下开启WiFi的方法图文教程详细介绍,希 ...

  3. bowtie 加mn标签_Bowtie2使用方法与参数详细介绍 - Public Library of Bioinformatics

    Bowtie2 使用方法与参数详细介绍 - Public Library of Bioinformatics 懒人必看 Bowtie2 -q --phred33 --sensitive --end-t ...

  4. JPA 的查询,JPA 根据方法名字查询详细介绍

    摘自:https://www.sojson.com/blog/295.html 根据方法名字生成SQL语句(根据方法名查询). public interface UserRepository exte ...

  5. mysql like 贪婪匹配_mysql模糊查询like与REGEXP的使用详细介绍

    前言 在mysql中实现模糊查询的有like和regexp.本文通过实例代码给大家详细介绍这两者的使用方法,下面来跟着小编一起学习学习吧. like模式 like意思是长得像,有两个模式:_和% _表 ...

  6. Spring Cloud的核心成员、以及架构实现详细介绍

    微服务架构系列 高并发架构系列:服务注册与发现的实现原理.及实现优劣势比较 阿里P8架构师谈:Restful.SOAP.RPC.SOA.微服务之间的区别 阿里P8架构师谈:微服务技术架构.监控.Doc ...

  7. MyBatis查询结果resultType返回值类型详细介绍

    一.返回一般数据类型 比如要根据 id 属性获得数据库中的某个字段值. mapper 接口: // 根据 id 获得数据库中的 username 字段的值String getEmpNameById(I ...

  8. spring和hibernate整合的几种方式详细介绍

    Spring与Hibernate整合 Spring与Hibernate整合关键点: 1) Hibernate的SessionFactory对象交给Spring创建: 2) hibernate事务交给s ...

  9. 如何服务器上查找nginx网站目录下,查看nginx安装目录和版本的多种方法、命令详细介绍...

    Nginx安装目录在哪儿,版本时多少?有时候我们接受了一个别人配置的Nginx Web服务器,首先想确认这些基本信息.其实可以查看Nginx安装目录和安装版本的方法/命令有好多种.(注意:以下命令有的 ...

最新文章

  1. 东莞.NET俱乐部线下技术沙龙-活动报名
  2. Mac版Anaconda安装Tweepy包
  3. MOSS字段编辑权限控制方案(2)-添加管理链接
  4. C#中(int),int.Parse,int.TryParse,Convert.ToInt32四则之间的用法
  5. hdu-1088 Write a simple HTML Browser
  6. Maven发布web项目到tomcat
  7. ssis配置文件优先级_SSIS优先约束概述
  8. HNOI 2002 营业额统计
  9. 今天心情好,一起探讨下《送给大家的200兆SVN代码服务器》怎么管理我们的VS代码?...
  10. 学完这个PPT设计课程后,我实现了月入3w+!
  11. 【学习笔记】利用偏导求解不等式(拉格朗日数乘法)
  12. SaaS营销网站的组织结构
  13. idea-svn文件名字浅蓝色(蓝绿色)含义
  14. 【协程】MyCoroutine轻量级协程框架代码详细剖解
  15. 手机浏览器java_三款最热java手机浏览器横评(组图)
  16. Linux安装配置ssh 基于unbantu22.04.1 LTS版本
  17. 202.m1-App的界面的实现
  18. C++11多线程:thread头文件
  19. boss直聘账号异常登不上_五条人XBOSS直聘推出麻将盲盒
  20. 巨变的中国与数字化转型,创造了中国企业技术出海的历史机遇

热门文章

  1. Couldn't deal with it,bug!!!
  2. 人脸对齐LBF(四)
  3. 毕业一年了,总结一下一年的收获!顺便回忆一下!
  4. HP Xeon 55xx上GPU的带宽问题
  5. 图片 100%显示. img 全部显示.
  6. 关于二进制转为十六进制的算法
  7. 好听的音乐,以后去自驾车的路上听 :)
  8. 服务器录音系统,录音方法、语音交换设备、录音服务器及录音系统技术方案
  9. 文档扫描OCR识别的安装
  10. 2021-10-26为什么单相短路和两相接地短路 的阻抗Zf的位置不同