mybatis-plus之如何实现in嵌套sql
作者:代号:猿a 时间:2023-02-11 14:57:57
mybatis-plus实现in嵌套sql
今天使用jeegboot看源码时发现用户权限部分的代码
条件查询的inSql方法的用法:
即sql中的 in (select column from table where 条件) 用法
/**
* 根据部门 Id 和 QueryWrapper 查询
*
* @param page
* @param departId
* @param queryWrapper
* @return
*/
@Override
public IPage<SysUser> getUserByDepartIdAndQueryWrapper(Page<SysUser> page, String departId, QueryWrapper<SysUser> queryWrapper) {
LambdaQueryWrapper<SysUser> lambdaQueryWrapper = queryWrapper.lambda();
lambdaQueryWrapper.eq(SysUser::getDelFlag, "0");
lambdaQueryWrapper.inSql(SysUser::getId, "SELECT user_id FROM sys_user_depart WHERE dep_id = '" + departId + "'");
return userMapper.selectPage(page, lambdaQueryWrapper);
}
mybatis-plus sql中in的用法
示例:
@Select("<script>" +
"SELECT * FROM node mn " +
"WHERE n.state IN " +
"<foreach item = 'state' collection = 'states' index = 'index' open = '(' separator = ',' close = ')'>" +
"#{state}" +
"</foreach>" +
"</script>")
List<Node> queryIdAndPlanDay(List states);
SQL语句需要使用<script></script>包起来,接着使用foreach进行循环,再将循环后得到的值放入sql中就ok了
item
:别名,就是遍历集合后用于接收数据的参数名,可自由更改collection
:集合名字,是你传入的集合参数名字,必须与参数名字相同open
:sql开始填充符号,相当于state in ()中的in后开始的第一个符号,即(separator
:分隔符,是遍历集合后组成参数的分隔符close
:sql结尾填充符号,是state in ()中的in后开始的最后一个符号,即)
来源:https://blog.csdn.net/weixin_44684303/article/details/112709807
标签:mybatis-plus,in,嵌套,sql
0
投稿
猜你喜欢
java实现轻量型http代理服务器示例
2021-10-05 18:14:20
Spring Boot中利用JavaMailSender发送邮件的方法示例(附源码)
2023-05-13 02:13:08
迅速掌握Java容器中常用的ArrayList类与Vector类用法
2022-12-16 16:18:47
C# 定时器定时更新的简单实例
2023-01-08 12:45:50
java中关于深拷贝的几种方式总结
2023-12-13 17:39:41
Springboot内置tomcat配置虚拟路径过程解析
2021-12-21 06:06:03
简单分析针对ARM平台的C语言程序的编译问题
2021-06-19 21:59:13
C# 对PDF文档加密、解密(基于Spire.Cloud.SDK for .NET)
2021-11-23 05:37:26
Java运行时数据区概述详解
2023-10-08 07:00:10
Java如何跳出当前多重循环你知道吗
2022-12-17 02:22:17
C#计算程序执行过程花费时间的方法
2022-08-07 08:44:53
SpringBoot封装JDBC的实现步骤
2022-09-13 04:04:31
解析Java线程同步锁的选择方法
2023-02-08 11:02:32
java程序代码与文本对比实用工具简介
2023-07-18 22:57:05
Android DownloadMananger管理器实现下载图片功能
2022-05-06 03:20:24
Android自定义ViewPagerIndicator实现炫酷导航栏指示器(ViewPager+Fragment)
2021-11-05 13:16:12
SpringCloud实现Eureka服务注册与发现
2021-08-16 04:00:44
Android如何获取QQ与微信的聊天记录并保存到数据库详解
2023-04-12 06:54:03
Unity UI实现循环播放序列图
2023-03-14 15:51:10
C#读取文件MD5值的实现代码
2021-10-08 18:01:39