SpringData JPA @Query动态SQL语句
前言
这次有个需求,需要动态的sql语句去查询,但是@Query正常情况下SQL语句是写死的,在查找了很多资料后,想到了一个好的解决办法
思路
利用MYSQL的判断来拼接SQL语句
实现
先上代码
@Query(value = "select * from project_demand where project_id=?1 and if(?2!='',demand_id in (select demand_id from demand_user where user_id=?2),1=1)",nativeQuery = true)
List<ProjectDemand> getListByUser(String projectId,String userId);
@Query(value = "select * from project_demand where project_id=?1 and if(?2!='',demand_id in (select demand_id from demand_user where user_id=?2),1=1)",nativeQuery = true)
红色部分,就是生成动态SQL的方法,利用MYSQL的if函数和我们传递的参数去进行判断,然后获取SQL语句。
SpringData JPA @Query动态SQL语句相关推荐
- Mybatis Plus 是如何实现动态 SQL 语句的?原理你懂吗?
作者 | 稻草江南 来源 | https://juejin.cn/post/6883081187103866894 Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,那么它是怎么 ...
- 7.平凡之路-动态SQL语句
动态SQL语句是核心之一,这里我们通过几个示例来演示 一 多条件查询专题 1.通过恒等式完成动态SQL语句 涉及到if标签 <mapper namespace="com.shxt.mo ...
- 学习SQL应知道的动态SQL语句基本语法
学习SQL应知道的动态SQL语句基本语法 1 .普通SQL语句可以用Exec执行 9Kp=A ' CdaFr1 eg: Select * from tableName Wsc+A:<&q ...
- Oracle基础 动态SQL语句
一.静态SQL和动态SQL的概念. 1.静态SQL 静态SQL是我们常用的使用SQL语句的方式,就是编写PL/SQL时,SQL语句已经编写好了.因为静态SQL是在编写程序时就确定了,我们只能使用SQL ...
- 动态SQL语句--mybatis
转自:http://www.blogjava.net/Steven-bot/articles/363460.html 动态SQL语句--mybatis 动态SQL语句 有些时候,sql ...
- oracle中执行动态sql语句吗,oracle中有没有可动态执行sql语句的函数
oracle中有没有可动态执行sql语句的函数 关注:233 答案:2 手机版 解决时间 2021-03-05 15:53 提问者祗剩寂寞 2021-03-04 22:38 oracle中有没有可 ...
- Sql Server实用操作-动态sql语句基本语法
如何将exec执行结果放入变量中? declare @num int, @sqls nvarchar(4000) set @sqls='select @a=count(*) from tableNam ...
- IBatis.net动态SQL语句
在学习动态SQL语句之前,首先必须对条件查询有一定了解,先来学习如何向IBatis.Net的映射文件里传入参数. 一.条件查询 1.传递单个参数 如根据Id查询: <select id=&quo ...
- Mybatis映射文件动态SQL语句-01
因为在很多业务逻辑复杂的项目中,往往不是简单的sql语句就能查询出来自己想要的数据,所有mybatis引入了动态sql语句, UserMapper.xml <?xml version=" ...
最新文章
- 关于导出excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- 你知道怎么在生产环境下部署tomcat吗?,灵魂拷问
- Docker 学习资源整理
- go sync.map 源码分析
- 索尼XA3曝光:同样是21:9屏幕 带鱼手机屏或成新潮流
- 开源GIS(四)——openlayers中geoserver发布的WMS与WFS加载
- 前端切换视图_前端开发的10个软件工具,用过3个就是大神!
- Android 自定义标题栏(title栏)
- ACM-ICPC 2018 徐州赛区网络预赛 J Maze Designer(最大生成树+LCA)
- 爬虫常用的user_agent
- Ubuntu下SMPlayer播放器安装配置以及常用快捷键记录
- 微信小程序自定义导航栏;uni-app微信小程序自定义顶部导航栏;微信小程序顶部导航栏高度;微信小程序左上角胶囊按钮;uni-app微信小程序左上角胶囊设置
- 数控铣削图案及编程_数控铣削编程与操作设计有全套图纸.doc
- 金山打字通——绿色安全无捆绑下载
- 华为狼性文化遭质疑,那我们当个佛系程序员可好?
- html的特殊符号五角星,五角星怎么打出来?打出五角星符号的方法
- python做桌面宠物_如何从零开始制作智能桌宠?
- hazelcast 搭建_Spring Boot集成Hazelcast实现集群与分布式内存缓存
- CSDN ARIMA R语言_R语言时间序列:ARIMA / GARCH模型的交易策略在外汇市场预测应用...
- vue-loader