zoukankan      html  css  js  c++  java
  • mybatis中foreach在不同场景下的使用整理

    mybatis中foreach在不同场景下的使用整理

    foreach实现in集合(批量查询)

    <select id="" resultType ="">
    SELECT * 
    FROM sys_user
    WHERE id in
    <foreach collectioin="list" open="(" close=")" separator="," item="id" index="i">
        #{id}
    </foreach>
    </select>
    
    foreach包含以下属性
    • collection:必填,值为要迭代循环的属性名。这个属性值得情况有很多。
    • item:变量名,值为从迭代对象中取出每一个值
    • index:索引属性名,在集合数组情况下值为当前索引值,当迭代循环的对象是Map类型时,这个值为Map的Key
    • open:整个循环内容开头的字符串
    • close:整个循环内容结尾的字符串
    • separator:每次循环的分隔符

    foreach实现批量插入

    INSERT INTO tablename (column-a,column-b,column-c....)
    VALUES 
    <foreach collection = "list" item="user" separator =",">
    (
        #{user.a},#{user.b},#{user.c})
    </foreach>
    

    foreach实现批量更新

    <update id  ="">
    	UPDATE sys_user
    	SET
        <foreach collection="_parameter" item="val" index="key" separator = ",">
        	${key} = #{val}
        </foreach>
       WHERE id = #{id}
    </update>
    
    • 注意:这里用的是$符号,key作为列名。对应的值作为该列的值


    作者:关小涛
    学习和分享是博客最大的乐趣,欢迎大家取之所需。
    努力是自己努力的原因,每周天写博客总结工作中的新技能和出现的问题
  • 相关阅读:
    spring
    SpringMVC 配置与使用
    基本MVC2模式创建新闻网站
    EL表达式
    JavaBeans介绍
    JSP简介
    Cookie与Session的异同
    过滤器的使用
    session的使用
    最长回文子串
  • 原文地址:https://www.cnblogs.com/XtsLife/p/12575709.html
Copyright © 2011-2022 走看看