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

  • 相关阅读:
    事理学神器PDCA
    单元测试
    web框架学习路线
    编译器实现(三)
    markdown test
    设计模式
    编译器实现(二)
    编译器实现(一)
    操作系统结构
    emacs配置笔记(windows10)
  • 原文地址:https://www.cnblogs.com/Oxyy/p/14518006.html
Copyright © 2011-2022 走看看