首页 > 行业数据 > > 正文

每日信息:mybatis-plus之如何实现in嵌套sql

时间:2023-07-02 16:55:58 来源:脚本之家


(资料图片)

目录
mybatis-plus实现in嵌套sqlmybatis-plus sql中in的用法总结

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 getUserByDepartIdAndQueryWrapper(Page page, String departId, QueryWrapper queryWrapper) {
    LambdaQueryWrapper 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 " +
            "" +
            "#{state}" +
            "" +
            "</script>")
            List queryIdAndPlanDay(List states);

SQL语句需要使用<script></script>包起来,接着使用foreach进行循环,再将循环后得到的值放入sql中就ok了

item:别名,就是遍历集合后用于接收数据的参数名,可自由更改collection:集合名字,是你传入的集合参数名字,必须与参数名字相同open:sql开始填充符号,相当于state in ()中的in后开始的第一个符号,即(separator:分隔符,是遍历集合后组成参数的分隔符close:sql结尾填充符号,是state in ()中的in后开始的最后一个符号,即)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

关键词:
x 广告
共同抗疫!郑州71岁党员志愿者每天爬6栋楼,提醒800多户居民做核酸

1月4日,郑州市新冠肺炎疫情防控指挥部办公室发布通告对部分区域实施管控措施。这是近半年来,新冠疫情第3次造访郑州。截止至1月10日24时,

安阳疫情最新消息|1月11日8时至12日8时安阳市新增本土确诊病例39例,累计123例

安阳疫情最新消息2022年1月11日8时至12日8时安阳市新型冠状病毒肺炎疫情最新情况1月11日8时至12日8时,全市新增本土确诊病例39例(汤阴县38

迅速高效!“河南抗疫互助通道”网上网下联动 获群众点赞

核酸检测24小时了还没查到结果,怎么办?现在高速下站口的管控政策到底是什么样子的?从洛阳老城区自驾走高速回郑州,收费站还劝返吗?苏八

信阳市疫情防控工作视频调度会召开 陈志伟出席会议

1月11日,市疫情防控工作视频调度会召开。代市长陈志伟出席会议并讲话。听取有关疫情防控重点工作和各县区(管理区、开发区)疫情防控工作

全国最新疫情消息:11日新增本土确诊病例166例 天津市今日启动第二轮全员核酸检测

11日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增新冠肺炎本土确诊病例166例(河南118例,其中安阳市65例、许昌市41例、

1月12日天津市放假半天 开启第二轮全员核酸检测

1月12日,天津市人民政府发布重要通告,为做好天津市第二轮全员核酸检测工作,全市机关和企事业单位于1月12日(星期三)下午放假半天。广大

x 广告

Copyright ©  2015-2022 西方评测网版权所有  备案号:沪ICP备2020036824号-7   联系邮箱:5 626 629 @qq.com