Mybatis @Select注解,使用in传入ids数组作为参数

10 Mybatis 专栏收录该内容
7 篇文章 0 订阅

在使用ids集合作为参数时,首先想应该是如下做法:

@Select("select id, name, user_id from label where id in 
<foreach collection=\"ids\" index = \"index\" item = \"id\" open= \"(\" separator=\",\" close=\")\"> 
#{id} 
</foreach>")
List<LabelDTO> getLabelsByIds(@Param("ids") List<Long> ids);

不知道为什么,一直提示获取不到id参数

后来在网上查了一下,最后得出如下正确做法:

    @Select({
            "<script>",
                "select",
                "id, name, user_id",
                "from label",
                "where id in",
                    "<foreach collection='ids' item='id' open='(' separator=',' close=')'>",
                    "#{id}",
                    "</foreach>",
            "</script>"
    })
    List<LabelDTO> getLabelsByIds(@Param("ids") List<Long> ids);

注意:

1,@Select后面的括号包含大括号

2, 使用<script>标签

3,@Select后面大括号中的代码,每行后面使用逗号结束

  • 14
    点赞
  • 3
    评论
  • 20
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值