mybatis同一个字段有多个参数如何查询

昨天接手一个新需求

有abc三间教室,各个都有座位(几百),有学生几百,按照教室不同,

教室之间有特定移动规则,

原有逻辑为:同教室移动去同教室,找到一个学生,查出空位

现有逻辑:不同教室之间的移动,找到一个学生,查出空位

理解需求:原有,一个学生要移动,一个教室找到一个规则,找出本教室的空位即可

现在:一个学生要移动,一个教室找到多个规则,能移动到多个教室,找出对应教室的所有空位

1.按照教室移动规则,找到对应的教室

库区和货位,对应教室和学生,方便理解

service层

dao层

sql就是一个简单的列表查询

重头戏来了

原本只用匹配一个教室,查询参数只有一个,现在要匹配多个教室,如何查询呢

在查询时,把这个字段做成list,一个一个循环读取

service和dao层代码

 

 sql

 

<if test="whareaToList!=null and whareaToList.size()>0">  /*目的库区集合*/
                and a.wh_area_id in
                <foreach collection="whareaToList" index="index" item="item" open="(" separator="," close=")">
                    #{item.whareaTo}
                    /*传递参数应该用list.xx*/
                </foreach>
            </if>
whareaToList  是能移动去的教室id的合集
whareaTo:是教室id

这里是mybatis的一个循环读取功能,类似批量添加

有问题欢迎在评论区讨论

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值