• Ibatis的批量处理iterateiterate标签



    iterate标签
    prepend-可被覆盖的SQL语句组成部分,添加在语句的前面(可选)

    property-类型为java.util.List的用于遍历的元素(必选)

    open-整个遍历内容体开始的字符串,用于定义括号(可选)

    close-整个遍历内容体结束的字符串,用于定义括号(可选)

    conjunction-每次遍历内容之间的字符串,用于定义AND或OR(可选)

    iterate-遍历类型为java.util.List(或数组)的元素。

    Java代码

    /**
    * 批量更新测试方法
    *
    @param map
    */
    public void updateListTest(){

    Map
    <String, Object> map=new HashMap<String, Object>();

    List
    <User> userList=new ArrayList<User>();

    User user1
    =new User();
    user1.setUsername(
    "tom");
    user1.setUserpwd(
    "000");
    User user2
    =new User();
    user2.setUsername(
    "tom");
    user2.setUserpwd(
    "222");
    User user3
    =new User();
    user3.setUsername(
    "tom");
    user3.setUserpwd(
    "333");

    userList.add(user1);
    userList.add(user2);
    userList.add(user3);

    map.put(
    "userList", userList);
    map.put(
    "username", "tom");
    int res=getSqlMapClientTemplate().update("updateListTest", map);
    System.out.println(
    "res----"+res);
    }
    public static void main(String[] args) {
    ApplicationContext context
    =new ClassPathXmlApplicationContext("applicationContext.xml");
    UserDAO dao
    =(UserDAO) context.getBean("userDAO");
    dao.updateListTest();
    }

    sql文件


    <!-- 批理更新 -->
    <update id="updateListTest" parameterClass="map">
    update user set address='批理处理' where username=#username# and userpwd in
    <iterate property="userList" open="("
    close
    =")" conjunction=",">
    $userList[].userpwd$
    </iterate>
    </update>
    <!-- 批量更新 -->
    <update id="updateListTest1" parameterClass="map">
    update user set address='批理处理' where username=#username#
    <iterate prepend="and" property="userList" open="("
    close
    =")" conjunction="or">
    age=$userList[].userpwd$
    </iterate>
    </update>
    </sqlMap>

    by archie
  • 相关阅读:
    HAOI2018 简要题解
    HAOI2017 简要题解
    BZOJ 5477: 星际穿越
    HAOI2016 简要题解
    C#oracle还原imp实例
    oracle备份imp命令大全
    C#oracle备份和还原
    win10安装CAD后出现致命错误
    Oracle 恢复数据后,数据库中中文变成问号解决方法
    CAD 安装时出现.net frameword 3.5安装不上的问题
  • 原文地址:https://www.cnblogs.com/archie2010/p/2017284.html
Copyright © 2020-2023  润新知