Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >可选的param与QuerySpring-BootJPA1.5

可选的param与QuerySpring-BootJPA1.5
EN

Stack Overflow用户
提问于 2018-11-19 13:20:57
回答 1查看 274关注 0票数 0

我想用spring 1.5执行过滤器列表的查询,我有param必需的(用户名)和可选的param (电子邮件),我如何在查询中为param分配可选的?@ query (“从用户u选择u,其中包括:用户名和u.email=:email")公共页面getUsers(@Param(”用户名“)字符串用户名,@Param("email")字符串电子邮件);http://localhost:8080/users?username=&email=test:work精细http://localhost:8080/users?username=:Exception

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-19 14:55:12

使用JPA标准API如下:

首先,创建一个Specification对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private Specification<Item> createSpecification(ItemSearch itemSearch) {
    return (root, query, criteriaBuilder) -> criteriaBuilder.and(
            Stream.of(
                    itemSearch.getUsername() == null ? null : criteriaBuilder.like(root.get("username"), itemSearch.getUsername()),
                    itemSearch.getEmail() == null ? null : criteriaBuilder.equal(root.get("email"), itemSearch.getEmail())
            ).filter(Objects::nonNull).toArray(Predicate[]::new)
    );
}

JpaSpecificationExecutor扩展您的存储库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public interface ItemRepository extends CrudRepository<Item, Long>, JpaSpecificationExecutor<Item> {

}

使用规范选择所有项目:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
List<Item> items = itemRepository.findAll(createSpecification(itemSearch))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53382803

复制
相关文章
servlet中init-param与context-param的区别「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160405.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/13
5500
servlet中init-param与context-param的区别「建议收藏」
Param in roscpp
严格来说,param并不能称作一种通信方式,因为它往往只是用来存储一些静态的设置,而不是动态变化的。所以关于param的操作非常轻巧,非常简单。 关于param的API,roscpp为我们提供了两套,一套是放在 ros::param namespace下,另一套是在 ros::NodeHandle 下,这两套API的操作完全一样,用哪一个取决于你的习惯。
小飞侠xp
2019/05/14
8410
JVM Param
-Xss 等价于 -XX:ThreadStackSize= 线程栈的大小,默认1M
itliusir
2019/12/11
8210
python install param
在服务器管理的时候,经常要用到paramiko这个模块。如果安装服务器上没有这个模块安装起来相当费劲。归其原因,是对于安装的步骤不正确,虽然pip会解决一些依赖库的问题,但是对于系统的依赖库,还是需要自己手动安装一下的。
py3study
2020/01/08
8560
git clone几种可选参数的使用与区别[通俗易懂]
github clone代码的速度,依赖于代码库的大小以及clone速度,基本是几十kb到200kb之间。要是能达到400kb,恭喜你;要是只有十几kb,emmmm, 还是先去吃饭吧。
全栈程序员站长
2022/09/16
1.9K0
git clone几种可选参数的使用与区别[通俗易懂]
@Param在Mybatis中的使用
用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 1.如果mapper接口里参数是两个普通参数;如下图
唐怀瑟
2018/08/30
4K0
C#新功能--命名参数与可选参数
  可能是篇幅太短了,又被打入冷宫了.先重发一篇加上可选参数.本来不想加这个呢,因为可选参数可能大家用的会多点.其实这 两个在VB中早就有了,C#中,在.net4发布之前是不能使用的.看到这个比较兴奋,我想大家也有好多人不知道,所以就强烈的想与大家 分享一下. 一、命名参数    命名参数会潜在的改变编写代码的方式.这个新功能能使代码更容易阅读和理解. 例如,看一下System.IO名称空间中的File.Copy()方法,它一般构建为 File.Copy(@"C:\mytestFile.txt",@"C:
hbbliyong
2018/03/05
1.1K0
param.requires_grad = False的作用
param.requires_grad = False的作用是:屏蔽预训练模型的权重。只训练最后一层的全连接的权重。最后一层的添加,是通过[2]中的一句代码:model_conv.fc = nn.Linear(num_ftrs, 2)可以发现,冻结预训练模型的权重后,验证精度会下降。
狼啸风云
2020/07/06
1.7K0
TypeScript 可选链
在前后端分离的系统中,前端页面一般通过调用 REST API 来获取服务端提供的与页面相关的数据。这里我们以获取用户基本信息的接口为例,假设该接口会返回以下数据:
阿宝哥
2020/03/23
2.7K0
Mybatis省略@Param注解原理
编写mybatis的Demo程序时,mapper传递多参数时,需要添加@param注解指定传递参数名称,而在springboot整合的mybatis则可以省略@param注解。于是乎,开始探究原因。
猫老师的叶同学
2023/03/01
1.4K0
Mybatis省略@Param注解原理
Dao层@Param注解使用
作为Dao层的注解,作用是用于传递参数,从而可以与SQL中的的字段名相对应。用来指定当前参数对应的在XML中的参数位置。
ha_lydms
2023/08/09
3250
@param注解的用法解析_getmapping注解用法
@Param的作用就是给参数命名,比如在mapper里面某方法A(int id),当添加注解后A(@Param(“userId”) int id),也就是说外部想要取出传入的id值,只需要取它的参数名userId就可以了。将参数值传如SQL语句中,通过#{userId}进行取值给SQL的参数赋值。
全栈程序员站长
2022/11/01
1.5K0
31 - 可选链​
原文地址:https://dev.to/bhagatparwinder/optional-chaining-1a1f
前端黑板报
2022/12/01
3830
Mybatis中@Param的用法和作用详解
用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中
赵哥窟
2018/12/27
4.1K0
Swift 可选链
可选链是一个调用和查询可选属性、方法和下标的过程,它可能为 nil 。如果可选项包含值,属性、方法或者下标的调用成功;如果可选项是 nil ,属性、方法或者下标的调用会返回 nil 。多个查询可以链接在一起,如果链中任何一个节点是 nil ,那么整个链就会得体地失败。
赵哥窟
2020/07/28
4340
Swift 可选链
swift可选值总结
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/101632.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/29
2700
初试mininet(可选PyCharm)
尝试理解一下mininet,话说mininet是基于python编写的,代码结构清晰,简直清醒脱俗((≧▽≦)/啦啦啦),附上链接mininet,mark一下。
Enterprise_
2019/03/21
1.2K0
初试mininet(可选PyCharm)
swift 可选类型笔记
       晚上十一点半了,看书累了,原本想睡了的,想了想,还是把刚看的总结一下,把这篇笔记写了吧。广州下雨,真特么的冷。。好了,废话不说了,说正题说说Swift可选类型。 先定义一个变量: var string="zhangxu"   想想这个变量要强转成 Int 类型的会怎样? // var Zint: int = string.toint() 这样子肯定是不行的,没发转换成 Int 类型的,那有没有想过 Zint 的值会是什么呢? 这时候我们今天的主角,可选类型就登场了! var Zint
Mr.RisingSun
2018/01/09
6720
Swift学习:可选型的使用
第一部分:可选型要点 可选类型顾名思义。它表示一个变量有可能有值,也可能没有值(nil)。 可选类型类似于OC指针的nil值,但是OC中的nil只对类有用,而可选择型中nil对所有类型都可用,更安全
梧雨北辰
2018/04/24
1.1K0
(六·)可选的对象属性类型
我们上一章节中定义的对象属性,使用的时候必须要包含定义的属性,否则就会报错,那么如果在我们开发中,有些属性不是必须的怎么办呢?
老怪兽
2023/02/22
1.3K0

相似问题

每个设备许可的Nook

12

访问Nook上的存储

21

如何获取nook simple touch的设备id?

25

映射外部存储设备

113

谷歌在Kindle和Nook设备上的应用内计费

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文