• mybatis中的foreach


    动态 SQL 的另一个常见使用场景是对集合进行遍历,foreach几个属性:

    1》collection:指定要遍历的集合:传入的如果是list没有使用@Param注解,则可以填list

    用了注解@Param("ids"):

    public List<Emp> selectEmps(@Param("ids")List<Integer> ids);
     <select id="selectEmps" resultType="com.mybatis.bean.Emp">
            select
            id,
            name,
            gender,
            email
            from emp where id in
            <foreach collection="ids" item="id" separator="," open="(" close=")">
                #{id}
            </foreach>
        </select>

    没有用注解@Param("xx"):

    public List<Emp> selectEmps(List<Integer> ids);
    <select id="selectEmps" resultType="com.mybatis.bean.Emp">
            select
            id,
            name,
            gender,
            email
            from emp where id in
            <foreach collection="list" item="id" separator="," open="(" close=")">
                #{id}
            </foreach>
        </select>

    2》item:将当前遍历出的元素赋值给指定的变量
    3》separator:每个元素之间的分隔符
    4》open:遍历出所有结果拼接一个开始的字符
    5》close:遍历出所有结果拼接一个结束的字符
    6》index:索引。遍历list的时候是index就是索引,item就是当前值;遍历map的时候index表示的就是map的key,item就是map的值
    #{变量名}就能取出变量的值也就是当前遍历出的元素,如果是基本数据类型,则就是item里面的变量;

    如果是对象如emp,要传入id值,item里面的变量是emp,则是emp.id

  • 相关阅读:
    webjars管理静态资源
    SpringCloud踩坑日记
    ELK日志搜索平台搭建
    新硬盘挂载到目录后目录原先数据消失解决办法
    nginx安装缺少依赖记录
    SpringCloud踩坑日记
    .bashrc配错刷新导致linux基础命令不能用修复
    nginx超时时间配置
    nginx日志切分shell脚本
    2019.10.10 实习日记
  • 原文地址:https://www.cnblogs.com/tdyang/p/12746422.html
Copyright © 2020-2023  润新知