springData学习(二)@Query注解详解

【YoloV11改进策略】基于流形约束超连接(mHC)增强YoloV11全局特征提取能力|独家复现|梁文峰署名论文 论文标题:流形约束超连接 (Manifold-Constrained Hyper-Connections, mHC)核心问题:针对超连接 (Hyper-Connections, HC) 扩展残差流宽度时破坏恒等映射、引发训练不稳定性和高内存开销的问题,提出一种约束性框架。目标:恢复残差连接的稳定性与可扩展性,同时保持HC的性能增益。基准模型:基于DeepSeek-V3的MoE架构,进行了3B、9B、27B模型的实验验证。论文图示mHC 是一个通用的HC扩展框架。 阅读详情

在上一篇中我们学习了如何使用Repository接口来查询,但是使用Repository接口来查询时,方法名会很长同时不利于我们写sql.

@Query注解查询适用于所查询的数据无法通过关键字查询得到结果的查询。这种查询可以摆脱像关键字查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Spring Data的特有实现。

1.查询id最大的数据

/**
	 * 需要注意的是from后面跟的是与表名相对应的实体类名
	 * 同时返回值不能写*
	 * @return
	 */
	@Query("select a from Student a where a.id = (select max(id) from Student e)")
	public Student getMaxId();

测试类:
@Test
	public void testGetMaxId() {
		Student s = studentRepositoryl.getMaxId();
		System.out.println(s.toString());
	}

控制台了打印:说明查询成功

2.根据name和age查询数据

@Query("select a from Student a where a.name = ?1 and a.age = ?2")
	public Student getStudentByAgeAndName(String name, int age);

测试类:
@Test
	public void testGetStudentByAgeAndName() {
		Student s = studentRepositoryl.getStudentByAgeAndName("赵留", 17);
		System.out.println(s.toString());
	}

 需要注意的是:?1是占位符,需要和方法中所传递的参数顺序一致。X是从1开始。

当然还支持命名参数(推荐使用此方式),如果

@Query("select a from Student a where a.name = :name and a.age = :age")
	public Student getStudentByAgeAndName1(@Param("name") String name, @Param("age")int age);

如果冒号后面的值和我们定义的值相同。也就是上面说的name和age相同,那么也可以修改为
@Query("select a from Student a where a.name = :name and a.age = :age")
	public Student getStudentByAgeAndName1(String name, int age);

3.模糊查询

同样模糊查询同样也支持两种传参方式

@Query("select a from Student a where a.name like %?1%")
	public List<Student> queryLike(String name);
	
	@Query("select a from Student a where a.name like %:name%")
	public List<Student> queryLike1(String name);

4.使用原生SQL进行查询

在@query的是将原生查询置为false,我们只需要改为true,就可以使用原生sql查询

@Query(nativeQuery = true, value = "select count(1) from stu")
	public int getCount();

测试类:
@Test
	public void testGetCount() {
		int count = studentRepositoryl.getCount();
		System.out.println(count);
	}

 5.更新删除操作

在使用Query注解来更新和删除时,必须同时使用@Modifying注解和@Transactional注解

@Transactional
	@Modifying
	@Query("update Student set name = :name where id = :id")
	public void update(String name, int id);


@Test
	public void testUpdate() {
		studentRepositoryl.update("测试", 1);
	}

需要注意的是@query不支持insert操作

手把手教你完成YOLOv8分类识别界面搭建,使用Qt6设计YOLOv8分类识别系统,前台系统+后台管理系统开发实战,全网最详细教程 本项目基于YOLOv8分类模型,结合PySide6框架开发了一套图形化分类识别系统,支持图片、视频和摄像头实时检测。系统包含以下功能: 分类识别模块:完成图像/视频目标分类,界面展示检测结果。 用户管理模块:支持登录注册、头像修改、密码重置等功能。 AI问答模块:集成DeepSeek大模型接口,实现流式输出对话。 后台管理系统(第二版新增):管理员可管理用户信息及个人中心。 系统采用MySQL数据库存储用户数据,并提供完整的UI界面与交互逻辑。代码已开源,适用于毕业设计或快速部署场景。 阅读详情

相关推荐

OpenPose 论文理解

OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation paper: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields link: OpenPose paper...

JustForYou的博客 2万+

@Query注解使用详情

@Query注解使用详情 常用属性 value : 取值,要么使用原生SQL,要么使用JPQL nativeQuery :表示是否采用原生SQL,诸如select * from tableName 取值方式 1、使用:形参名 示例: 单个形参的情况 多个形参的情况: 2、使用?数值,数值表示形参位置,1表示第一个形参,依次内推 示例: 单个形参的情况: 多个形参的情况: 特殊情况:数值也可不写,若不写具体的数值,默认是从1开始递增,如下图示例: 3、使用@Param("参数名")+:参数名 通常使

Java码农ing的博客 1万+

【硬件开发】振铃

如果是开关管的振铃,那么桥臂的SW处产生的振铃会窜入驱动电路,造成的结果就是驱动电路和上桥臂下桥臂之间的SW节点都会有振铃现象。如果是驱动电路的振铃,那么MCU的输出引脚还是正常的PWM,但是到了MOS管两侧就变成带有振铃的PWM波形了。开关振铃产生的原因是MOS管上面的寄生电感当开关管打开时为了保持电流不变感应出的电压会对电源和地产生冲击。开关管的驱动线上的寄生电容和寄生电感导致的振铃为驱动电路振铃。开关管上的寄生电容和寄生电感导致的振铃为开关节点振铃。、电感等元件的存在,导致电路中的电压和。

weixin_62546664的博客 1822

SpringData系列五:@Query注解

1、@Query注解:  这种查询可以声明在 Repository 方法中,摆脱像命名查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是 Spring data 的特有实现。 @Query("SELECT p FROM Person p WHERE p.id = (SELECT max(p2.id) FROM Person p2)") Person getMaxIdPerson(...

苍穹尘的博客 1万+

NR RRC协议(2)---RRC连接建立流程

RRC连接建立目的是建立SRB1 RRC连接建立还用于将初始NAS消息从UE传送到网络 RRC连接的初始阶段期间,不激活AS安全性 RRC连接建立由UE侧发起

crg2046的博客 1957

R以及Rstudio超详细安装教程(包括安装过程中出现的问题)

R安装及Rstudio安装,以及安装中出现的问题

2301_76908257的博客 1万+

Spring Boot 中的 @Query 注解是什么,原理,如何使用

在 Spring Boot 中,@Query 注解是一个非常常用的注解,用于定义自定义查询语句。使用 @Query 注解可以帮助我们更灵活地进行数据库操作,尤其是针对一些复杂的查询场景。同时,@Query 注解还可以与其他注解结合使用,例如 @Param、@Modifying 等,用于控制查询语句和查询结果的行为和配置。希望本文对您有所帮助,欢迎留言交流。

IT徐师兄 4217

Python实战:从中国气象局天擎平台自动化获取与处理雷达基数据

本文详细介绍了如何利用Python脚本实现从中国气象局天擎平台自动化获取与处理雷达基数据。通过环境搭建、安全认证、核心代码编写及工程化优化,构建了一个包含自动查询、批量下载、错误重试和格式转换的完整数据管道,旨在帮助气象水文领域的研究者与数据分析师从繁琐的手动操作中解放出来,高效管理海量数据。

ipfs8storage的博客 916

@Query 用法

注解为 Spring Data JPA 提供了一种强大而灵活的方式,允许开发者直接在 Repository 接口中定义定制化的查询语句,无论是使用面向对象的 JPQL 还是具体的数据库原生 SQL,并支持多种参数绑定和结果映射策略,以应对各种复杂的查询需求。是 Spring Data JPA 提供的一个注解,用于在 Repository 接口中定义自定义的 SQL 或 JPQL 查询语句。注解的核心,用于指定实际的查询语句。

qq_33240556的博客 1620

SAP S4 HANA 新资产会计中的平行分类账估值

在资产会计中,我们可以设置使用折旧区域的平行分类账会计 我们需要根据涉及的会计原则定义折旧区域,在我们的方案中,公司 FR01 是一家国际集团的当地分支机构,公司 FR01 需要按照集团会计准则 IFRS 和当地 GAAP 会计准则报告财务报表。过账到 LG 会计原则(分类帐 2L)-->分类账 2L的 150 欧元损失 -->在 IFRS 折旧区域,我们有 100 欧元的收益,在 LG 折旧区域,我们有 150 欧元的损失,使用平行分类账 0L 和 2L,我们能够根据不同的会计原则进行平行估值。

yanzibing99的博客 1326

【超详细】安装了anaconda后,Ubuntu18+COLMAP配置疯狂踩坑踩至魔怔的记录

本博客收集了博主在Ubuntu18系统中编译COLMAP所遇到的困难,提供了解决方法,也收集了目前网上大多数的坑,除此之外,也为Ubuntu18系统下COLMAP的安装提供了一种新的路径。

Stay_Foo_lish的博客 3508

@Query注解的用法(Spring Data JPA)

@Query注解的用法(Spring Data JPA) 参考文章:http://www.tuicool.com/articles/jQJBNv 1. 一个使用@Query注解的简单例子 @Query(value = "select name,author,price from Book b where b.price>?1 and b.price<?2") List f

JAVA__BEST_LANGUAGE的博客 8304

GPU服务器维修全流程:从检测到解锁

《GPU服务器维修维保全流程指南》摘要:本文系统介绍GPU服务器从检测到解锁的完整维修流程。检测环节包含物理检查(氧化层、散热、PCB板)和电子诊断(ECC报错率、电源波动等);核心维修技术涵盖PCB板修复(微孔镀铜、BGA返修)和芯片级维修(成功率78-92%);解锁验证阶段包括性能解锁(VBIOS重写)和72小时稳定性测试。文末提供故障速查表及维保建议,强调定期除尘可降低38%故障率,推荐环境粉尘浓度控制在≤0.3mg/m³。

2401_89353317的博客 889

SpringData之@Query注解与@Modifying注解

目录 索引参数与命名参数 @Modifying注解 @Query注解查询适用于所查询的数据无法通过关键字查询得到结果的查询。这种查询可以摆脱像关键字查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Spring Data的特有实现。 索引参数与命名参数  1、索引参数如下所示,索引值从1开始,查询中"?X"个数需要与方法定义的参数个数相一致,并且顺序也要一致。 ...

liuzhongyu 611

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Spring Data JPA 之 @Query 语法详解及其应用

5 Spring Data JPA 之 @Query 语法详解及其应用 5.1 快速体验 @Query 的方法 沿⽤我们之前的例⼦,新增⼀个 @Query 的⽅法: // 通过 query 注解根据 name 查询 user 信息 @Query("From User where name=:name") User findByQuery(@Param("name") String nameParam); 新增⼀个测试方法: @Test public void testQueryAnnotation() {

曾小二的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SpringData系列四 @Query注解及@Modifying注解(实用)

 @Query注解查询适用于所查询的数据无法通过关键字查询得到结果的查询。这种查询可以摆脱像关键字查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Spring Data的特有实现。 索引参数与命名参数 1、索引参数如下所示,索引值从1开始,查询中"?X"个数需要与方法定义的参数个数相一致,并且顺序也要一致。      1 @Query("SELECT p FRO...

HD243608836的博客 621

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SpringData系列一@Query注解及@Modifying注解

SpringData系列一@Query注解及@Modifying注解 很遗憾,这篇文章产生的初衷只是由于三个原因,第一,公司不忙,我太闲了,第二我是真的用到了,感觉这篇博文讲的不错,所以我想copy一遍@Query注解及@Modifying注解,第三,复习一遍。 @Query注解查询适用于所查询的数据无法通过关键字查询得到结果的查询。这种查询可以摆脱像关键字查询那样的约束,将查询直接在相应的接口方...

wenxiukeke的博客 341

springData中的@Query注解及@Modifying注解

@Query注解 @Query注解查询适用于所查询的数据无法通过关键字查询得到结果的查询。这种查询可以摆脱像关键字查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Spring Data的特有实现。 @Query有两种参数表示形式:索引参数与命名参数 第一种:索引参数: 索引参数如下所示,索引值从1开始,查询中**"?X"**个数需要与方法定义的参数个数相一致,并且顺序也要一致。 @Query("SELECT p FROM Person p WHERE p.lastName = ?1 AN

水巷石子的博客 1353

@Query注解的使用

@Query注解 使用Spring Data虽然方便了不少,但是对于一些复杂的sql语句还需要使用@Query注解来进行相关的标注说明。 属性 value:需要写的sql语句; nativeQuery=true/false:当nativeQuery = true时,是可以执行的原生sql语句,所谓原生sql,也就是说这段sql会拷贝到数据库中。如果没有nativeQuery = true时,就不是...

qq_43619832的博客 1827

SpringData中的【@Query 注解】和【@Modifying 注解】简介

@Query 注解 •这种查询可以声明在 Repository方法中,摆脱像命名查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Springdata 的特有实现。 //查询id值最大的那个person //使用@Query注解可以自定义JPQL语句,语句可以实现更灵活的查询 @Query("SELECT p FROM Person p WHERE p.id=(SELECT...

_夜渐凉 1568

SpringData @Query和@Modifying注解原理解析

@Query注解查询适用于所查询的数据无法通过关键字查询得到结果的查询。这种查询可以摆脱像关键字查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Spring Data的特有实现。 索引参数与命名参数     1、索引参数如下所示,索引值从1开始,查询中"?X"个数需要与方法定义的参数个数相一致,并且顺序也要一致。      1 @Query("SELECT p FROM Person p WHERE p.lastName = ?1 AND p.email = ?2") 2

qq_42514371的博客 299

springdata JPA@Query注解及@Modifying注解

@Query注解查询适用于所查询的数据无法通过关键字查询得到结果的查询。这种查询可以摆脱像关键字查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Spring Data的特有实现。 索引参数与命名参数     1、索引参数如下所示,索引值从1开始,查询中"?X"个数需要与方法定义的参数个数相一致,并且顺序也要一致。 @Query("SELECT p FROM Person p W...

微微一笑满城空 1145

@Query注解及@Modifying注解

@Query注解查询适用于所查询的数据无法通过关键字查询得到结果的查询。这种查询可以摆脱像关键字查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Spring Data的特有实现。 索引参数与命名参数     1、索引参数如下所示,索引值从1开始,查询中"?X"个数需要与方法定义的参数个数相一致,并且顺序也要一致。 1 @Query(“SELECT p FROM Person p...

qq_30667039的博客 627

【源码】Spring Data JPA原理解析之Repository自定义方法添加@Query注解的执行原理

本篇从源码角度分享Repository中自定义方法带@Query注解的接口的实现原理。重点分析了ExpressionBasedStringQuery、StringQuery和AbstractStringBasedJpaQuery的源码。

JingAi_jia917的博客 1967

【Spring Data 系列学习】Spring Data JPA @Query 注解查询

【Spring Data 系列学习】Spring Data JPA @Query 注解查询 前面的章节讲述了 Spring Data Jpa 通过声明式对数据库进行操作,上手速度快简单易操作。但同时 JPA 还提供通过注解的方式实现,通过将 @Query 注解在继承 repository 的接口类方法上 。 Query 源码讲解 public @interface Query { /**...

havendream的博客 3002

SpringData JPA @query注解使用原生代码报错问题

SpringData JPA @query注解使用原生代码报错问题 之前用过@query 原生代码的查询方式,正常加注解就可以使用,大概形式为: @Query(value="select * from table",nativeQuery=true) K_KC54 getK_KC54UsingOriginSQL(String aac001); 如上形式,完美解决本地查询问题。

Mr_lisj的博客 8148
上一篇: springData学习(一)Repository接口详解
下一篇: springData学习(三)CrudRepository接口学习
若往夕之
博客等级 码龄9年 20粉丝 82原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值