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

2023-02-25 17:13:23 浏览数 (1)

文章目录

    • 一、参数解释:
      • 1、script元素:
      • 2、where元素:
      • 3、foreach元素
        • foreach元素的主要属性如下:
    • 二、Dao层代码如下:

一、参数解释:

1、script元素:

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

2、where元素:

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

3、foreach元素

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

foreach元素的主要属性如下:

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

二、Dao层代码如下:

代码语言:javascript复制
    //根据传入的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);

0 人点赞