mybatis使用注解处理数组或者集合参数

举报
别团等shy哥发育 发表于 2023/03/03 00:17:06 2023/03/03
【摘要】 @[toc] 一、参数解释: 1、script元素:在带注解的映射器接口中使用动态SQL,可以使用script元素 2、where元素:只有<where>元素内的条件成立时,才会在拼装SQL语句时加上where关键字 3、foreach元素<foreach>元素主要是迭代一个集合,在SQL语句中通常用在in这个关键字的后面 foreach元素的主要属性如下:item:表示集合中每个元素迭代时...

@[toc]

一、参数解释:

1、script元素:

在带注解的映射器接口中使用动态SQL,可以使用script元素

2、where元素:

只有<where>元素内的条件成立时,才会在拼装SQL语句时加上where关键字

3、foreach元素

<foreach>元素主要是迭代一个集合,在SQL语句中通常用在in这个关键字的后面

foreach元素的主要属性如下:

item:表示集合中每个元素迭代时的别名
index:指定一个变量名称,表示每次迭代到的位置
open:表示该语句的开始符号
separator:表示每次迭代之间的分隔符号
close:表示该语句的结束符号
colleaction:
如果SQL语句传递的是单参数且参数类型为List<E>,collection属性的值为list.
如果SQL语句传递的是单参数且参数类型为array数组,collection属性的值为array.

二、Dao层代码如下:

    //根据传入的oilId列表删除油井日数据
    @Delete("<script>" +
                "delete from oilDaily" +
                    "<where>" +
                        "oilId in" +
                        "<foreach item='oilIds' collection='array' open='(' separator=',' close=')'>" +
                            "#{oilIds}" +
                        "</foreach>" +
                    "</where>" +
            "</script>")
    int deleteOilDaily( Integer[] oilIds);
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。