mybatis 批量条件查询多条数据 sql循环

mybatis有foreach循环遍历,避免数据库频繁查询数据库

例如以下代码

<select id="selectSkuList"
            resultType="xxxxxx.xxxxx.xxx">
        SELECT *from goods WHERE product_code in
        <foreach collection="skuCodes" item="skuCode" index="index" open="(" close=")" separator=",">
            #{skuCode}
        </foreach>
    </select>

我们可以看到很多参数
意思为

1. item 表示本次迭代获取的元素,若collection为List、Set或者数组,则表示其中的元素;若collection为map,则代表key-value的value,该参数为必选
2. open 表示该语句以什么开始,最常用的是左括弧’(’,注意:mybatis会将该字符拼接到整体的sql语句之前,并且只拼接一次,该参数为可选项
3. close 表示该语句以什么结束,最常用的是右括弧’)’,注意:mybatis会将该字符拼接到整体的sql语句之后,该参数为可选项
4. separator mybatis会在每次迭代后给sql语句append上separator属性指定的字符,该参数为可选项
5. index 在list、Set和数组中,index表示当前迭代的位置,在map中,index代指是元素的key,该参数是可选项

数据源代码

    List<sku> selectSkuList((@Param("skuCodes") List<String> skuCodes);

(@Param(“skuCodes”) 必传

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值