• ibatis的iterate使用


    Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容。 
    Iterate 的属性: 
          prepend  - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选) 
          property  - 类型为 java.util.List 的用于遍历的元素(必选) 
          open  -  整个遍历内容体开始的字符串,用于定义括号(可选) 
          close  -整个遍历内容体结束的字符串,用于定义括号(可选) 
          conjunction -  每次遍历内容之间的字符串,用于定义 AND 或 OR(可选) 
          遍历类型为 java.util.List的元素。 

    例子: 
    <iterate prepend=”AND” property=”userNameList” 
    open=”(” close=”)” conjunction=”OR”> 
    username=#userNameList[]# 
    </iterate>

    ibatis中如何配置in语句,需要迭代,不能直接用string的写法
    <select id="sql_test" parameterclass="myPramBean" resultclass="myResult">
    select *from tablewhere name in 
    <iterate property="ids" conjunction="," close=")" open="(" /> 
    #value[]# 
    </iterate>
    and code=#code#
    </select>
    myPramBean
    {
    private String code;
    private List ids;
    ...


    eg:
    <delete id="member.batchDelete" parameterClass="java.util.List">
          DELETE FROM member where id IN
          <iterate conjunction="," open="(" close=")" >
              #value[]# 
          </iterate>
    </delete>

    注意:使用<iterate>时,在List元素名后面包括方括号[]非常重要,方括号[]将
    对象标记为List,以防解析器简单地将List输出成String。

    posted on 2010-02-02 15:49 飞熊 阅读(20034) 评论(3)  编辑  收藏 所属分类: Ibatis

    评论

    # re: ibatis的iterate使用 2011-10-06 01:10 wiky

    ibatis中如何配置in语句,需要迭代,不能直接用string的写法
    <select id="sql_test" parameterclass="myPramBean" resultclass="myResult">
    select *from tablewhere name in 
    <iterate property="ids" conjunction="," close=")" open="(" /> 
    #value[]# 
    </iterate>
    and code=#code#
    </select>

    #value[]# 要改成#ids[]# 才行  回复  更多评论   

    # re: ibatis的iterate使用[未登录] 2013-08-22 13:36 呵呵

    第三种:in后面的数据确定,使用string传入 
    <select id="GetEmailList_Test2" parameterClass="TestIn" resultClass="EmailInfo_"> 
    select * 
    from MailInfo with (nolock) 
    where ID in 
    ($StrValue$) 
    </select>

  • 相关阅读:
    java 浅显的会议预约-没有测试过
    Postgresql 与 Spring的集成
    对象转JSON正则查找替换
    Java 对象与JSONString的互相转换
    excel 中涉及到金额显示0E-8的 可以使用以下语句来把excel导出修改为0
    Java 非正则方式校验数据
    泛型与反射的使用
    正则表达式,匹配 URL 是IP还是域名
    对外接口加密
    自定义SQL查询的使用
  • 原文地址:https://www.cnblogs.com/Struts-pring/p/5127500.html
Copyright © 2020-2023  润新知