mybatis 复用 for循环最后一个元素的值

代码如下:

select * from sys_model
<where>
    <if test="modelList != null and modelList.size() > 0">
        and model_name in
        <foreach collection="modelList" item="modelName" open="(" close=")"         separator="," index="index">
            #{modelName}
        </foreach>
    </if>
    <if test="modelName != null and modelName != ''">
        and model_name like concat('%',#{modelName},'%')
    </if>
</where>

 这里我对model_name条件进行了两次筛选,其中第一次是循环查询,我定义item为modelName,下面的like筛选我又用了modelName传参。

这里for循环中的modelName是我用item定义的,like筛选的modelName是传过来的对象里面有一个modelName属性。这个时候循环体定义的名称和下面的参数名重名就会出现下面的modelName复用for循环的最后一个数据的值。

猜你喜欢

转载自blog.csdn.net/weixin_51689532/article/details/131779039