zoukankan      html  css  js  c++  java
  • mybatis-foreach标签的使用-sql循环

    今天敲代码的时候用到了,在此记录一下。 


    foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。

    foreach元素的属性主要有 itemindexcollectionopenseparatorclose

        item表示集合中每一个元素进行迭代时的别名, 

        index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,

        open表示该语句以什么开始, 

        separator表示在每次进行迭代之间以什么符号作为分隔 符,

        close表示以什么结束,

        collection表示要循环的集合。


    在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是在不同情况 下,该属性的值是不一样的,主要有以下3种情况:

      1. 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list

      2. 如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array

      3. 如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可以封装成map,实际上如果你在传入参数的时候,在breast里面也是会把它封装成一个Map的,map的key就是参数名,所以这个时候collection属性值就是传入的List或array对象在自己封装的map里面的key

      


    我们来看看以上三种情况的示例:

      1.单参数List的类型:

    1      update  GOC_FAULT_IMPROVE_MEASURE a set
    2         a.use_flag = 0 ,
    3         a.operator = #{operator} ,
    4         a.operate_time = sysdate
    5         where a.id in
    6         <foreach collection="improveList" item="improveId" open="(" separator="," close=")">
    7               #{improveId}
    8         </foreach>

     未完待续。。。

    以下是mybatis官网:

    https://mybatis.org/mybatis-3/zh/index.html

  • 相关阅读:
    hdu 4114 Disney's FastPass 状压dp
    lightoj 1381
    bzoj 2428: [HAOI2006]均分数据 随机化
    bzoj 3969: [WF2013]Low Power 二分
    套题:wf2013 (1/8)
    hdu 4119 Isabella's Message 模拟题
    hdu 4118 Holiday's Accommodation 树形dp
    UESTC 2015dp专题 N 导弹拦截 dp
    UESTC 2015dp专题 j 男神的约会 bfs
    UESTC 2015dp专题 H 邱老师选妹子 数位dp
  • 原文地址:https://www.cnblogs.com/Oxyy/p/14518006.html
Copyright © 2011-2022 走看看