zoukankan      html  css  js  c++  java
  • ibatis实现Iterate的使用

    <iterate  

        property=""   /*可选,   从传入的参数集合中使用属性名去获取值,   这个必须是一个List类型,   否则会出现OutofRangeException,   通常是参数使用java.util.Map时才使用,  如果传入的参数本身是一个java.util.List, 不能只用这个属性.    /  

        conjunction="" /*可选,    iterate可以看作是一个循环,   这个属性指定每一次循环结束后添加的符号,   比如使每次循环是OR的, 则设置这个属性为OR*/  

      open="" /*可选, 循环的开始符号*/  

        close="" /*可选, 循环的结束符号*/  

        prepend="" /*可选, 加在open指定的符号之前的符号*/  

    >

    1.查询

    <!-- Iterate的使用,根据多个匹配条件查询,类似in(a,b,c)-->

    <select id="selectByIterate" parameterClass="java.util.List" resultClass="user">

     SELECT * FROM USERS WHERE USER_ID IN

     <iterate conjunction="," open="(" close=")">

      #ids[]#

     </iterate>

    </select>

    注意:不要property属性,否则报错。String index out of range: -1

            2. 但是,若参数有多个传入的一个是List,另一个不是, parameterClass为map时,需要property属性区分要遍历的  集合。

    2.删除

    <!-- 批量删除对象的时候,iterate不要property属性 -->

    <delete id="delStudybook" parameterClass="java.util.List">

     delete FROM STUDYBOOK WHERE ID IN

     <iterate conjunction="," open="(" close=")">

      #bookList[]#

     </iterate>

    </delete>

    http://hongzhguan.iteye.com/blog/1222353

  • 相关阅读:
    在线编辑器fckeditor的使用和配置
    Oracle CHAR,VARCHAR,VARCHAR2类型的区别与使用
    where having 的区别
    软件架构师之我见
    在线编辑器fckeditor的使用和配置
    where having 的区别
    必须掌握的八个【cmd 命令行】
    浅析PHP实现同步远程MysqlPHP编程教程详解
    MSSQL智能感应
    SQL统计表行数
  • 原文地址:https://www.cnblogs.com/hym-pcitc/p/5695846.html
Copyright © 2011-2022 走看看