mybatis повторно использует значение последнего элемента цикла for

код показан ниже:

выберите * из sys_model
<где>
    <if test="modelList != null и modelList.size() > 0">
        и имя_модели в
        <foreach Collection="modelList" item="modelName" open="(" close=")" separator="," index="index">
            #{название модели}
        </foreach>
    </если>
    <if test="modelName != null и modelName != ''">
        и имя_модели, например concat('%',#{modelName},'%')
    </если>
</где>

 Здесь я фильтрую условие model_name дважды: первый раз это циклический запрос, я определяю элемент как modelName и использую modelName для передачи параметров в следующем фильтре.

Имя модели в цикле for здесь определяется элементом, а имя модели, отфильтрованное по параметру Like, имеет атрибут ModelName в переданном объекте. В настоящее время имя, определенное в теле цикла, совпадает с именем следующего параметра, а следующее имя модели будет повторно использовать значение последних данных цикла for.

Guess you like

Origin blog.csdn.net/weixin_51689532/article/details/131779039