Spring JPA查询,JPA 根据方法名字查询详细介绍
版权所属: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 根据方法名字查询详细介绍相关推荐
- 高并发架构系列:Spring Cloud的核心成员、以及架构实现详细介绍
高并发架构系列:Spring Cloud的核心成员.以及架构实现详细介绍 什么是微服务 微服务的概念源于Martin Fowler所写的一篇文章"Microservices". 微 ...
- android飞行模式开启wifi,手机在飞行模式下怎么使用WiFi? 飞行模式下开启WiFi的方法图文教程详细介绍[多图]...
类型: 大小: 评分: 平台: 标签: 手机在飞行模式下怎么使用WiFi?相信很多朋友都还不太清楚吧?没关系,下面是友情小编搜集相关资料整理出来的手机在飞行模式下开启WiFi的方法图文教程详细介绍,希 ...
- bowtie 加mn标签_Bowtie2使用方法与参数详细介绍 - Public Library of Bioinformatics
Bowtie2 使用方法与参数详细介绍 - Public Library of Bioinformatics 懒人必看 Bowtie2 -q --phred33 --sensitive --end-t ...
- JPA 的查询,JPA 根据方法名字查询详细介绍
摘自:https://www.sojson.com/blog/295.html 根据方法名字生成SQL语句(根据方法名查询). public interface UserRepository exte ...
- mysql like 贪婪匹配_mysql模糊查询like与REGEXP的使用详细介绍
前言 在mysql中实现模糊查询的有like和regexp.本文通过实例代码给大家详细介绍这两者的使用方法,下面来跟着小编一起学习学习吧. like模式 like意思是长得像,有两个模式:_和% _表 ...
- Spring Cloud的核心成员、以及架构实现详细介绍
微服务架构系列 高并发架构系列:服务注册与发现的实现原理.及实现优劣势比较 阿里P8架构师谈:Restful.SOAP.RPC.SOA.微服务之间的区别 阿里P8架构师谈:微服务技术架构.监控.Doc ...
- MyBatis查询结果resultType返回值类型详细介绍
一.返回一般数据类型 比如要根据 id 属性获得数据库中的某个字段值. mapper 接口: // 根据 id 获得数据库中的 username 字段的值String getEmpNameById(I ...
- spring和hibernate整合的几种方式详细介绍
Spring与Hibernate整合 Spring与Hibernate整合关键点: 1) Hibernate的SessionFactory对象交给Spring创建: 2) hibernate事务交给s ...
- 如何服务器上查找nginx网站目录下,查看nginx安装目录和版本的多种方法、命令详细介绍...
Nginx安装目录在哪儿,版本时多少?有时候我们接受了一个别人配置的Nginx Web服务器,首先想确认这些基本信息.其实可以查看Nginx安装目录和安装版本的方法/命令有好多种.(注意:以下命令有的 ...
最新文章
- 东莞.NET俱乐部线下技术沙龙-活动报名
- Mac版Anaconda安装Tweepy包
- MOSS字段编辑权限控制方案(2)-添加管理链接
- C#中(int),int.Parse,int.TryParse,Convert.ToInt32四则之间的用法
- hdu-1088 Write a simple HTML Browser
- Maven发布web项目到tomcat
- ssis配置文件优先级_SSIS优先约束概述
- HNOI 2002 营业额统计
- 今天心情好,一起探讨下《送给大家的200兆SVN代码服务器》怎么管理我们的VS代码?...
- 学完这个PPT设计课程后,我实现了月入3w+!
- 【学习笔记】利用偏导求解不等式(拉格朗日数乘法)
- SaaS营销网站的组织结构
- idea-svn文件名字浅蓝色(蓝绿色)含义
- 【协程】MyCoroutine轻量级协程框架代码详细剖解
- 手机浏览器java_三款最热java手机浏览器横评(组图)
- Linux安装配置ssh 基于unbantu22.04.1 LTS版本
- 202.m1-App的界面的实现
- C++11多线程:thread头文件
- boss直聘账号异常登不上_五条人XBOSS直聘推出麻将盲盒
- 巨变的中国与数字化转型,创造了中国企业技术出海的历史机遇