mybatis foreach 嵌套查询

一、前提 mybatis 嵌套查询

   mapper 中的语句

   List<User> select(@Param("list") List<User> list, @Param("day") String day);

二、list 对象

Data
@ToString
public class User{
    
    private String name;

    private List<String> idList;
}

三、xml sql

<select id="select" resultMap="Result">
        select * from user
        <where>
            <if test="day!= null  and day!= ''">and day= #{day}</if>
            <if test="list != null and list.size > 0">
            or
                <foreach item="item" index="index" collection="list"  separator="or" >
                    ( `name`=#{item.name}   and
                       id in
                        <foreach item="a"  collection="item.idList" open="(" separator="," close=")">
                            #{a}
                        </foreach>
                    )
                </foreach>
            </if>
        </where>
    </select>

 


版权声明:本文为qq_38347917原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。