spring-data-jpa 的@Query注解的使用

复制代码
// ------------------------------------ 使用 @Query 注解
// 没有参数的查询
@Query("select p from Person p where p.id = (select max(p2.id) from Person p2)")
Person getMaxIdPerson();

//使用 ? 和数字代表传入的参数
@Query("select p from Person p where lastName=?1 and email=?2")
Person readPersonByLastNameAndEmail(String lastName,String email);

//使用 :代表传入的参数
@Query("select p from Person p where email=:email and  lastName=:name")
Person readPersonByLastNameAndEmailThroughName(@Param("name") String lastName,@Param("email") String email);

// 使用 like
@Query("select p from Person p where lastName like ?1")
Person readPersonByLike(String likeName);

// @Query 注解支持使用百分号
@Query("select p from Person p where lastName like %?1%")
Person readPersonByLike2(String likeName);

// @Query 注解支持使用百分号
@Query("select p from Person p where lastName like %:lastName%")
Person readPersonByLike3(@Param("lastName")String name);

// 使用原生的 SQL
@Query(value="select * from jpa_person p1 where p1.last_name like %:lastName%",nativeQuery=true)
Person getPersonUsingOriginSQL(@Param("lastName")String lastName);
复制代码

 

posted on 2018-06-15 16:48  让代码飞  阅读(294)  评论(0)    收藏  举报

编辑推荐:
· tomcat为什么假死了
· 聊一聊 Linux 上对函数进行 hook 的两种方式
· C# 锁机制全景与高效实践:从 Monitor 到 .NET 9 全新 Lock
· 一则复杂 SQL 改写后有感
· golang中写个字符串遍历谁不会?且看我如何提升 50 倍
阅读排行:
· 突发,CSDN 崩了!程序员们开始慌了?
· 完成微博外链备案,微博中直接可以打开园子的链接
· C# WinForms 实现打印监听组件
· C#实现欧姆龙 HostLink 通讯协议库
· 一个基于 .NET 开源、模块化 AI 图像生成 Web 用户界面
< 2025年6月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12

导航

统计

一款免费在线思维导图工具推荐:https://www.processon.com/i/593e9a29e4b0898669edaf7f?full_name=python
点击右上角即可分享
微信分享提示