前端传入的list参数应该是这样子,不要怀疑,去测试一下吧。SpringMvc会把这样的字符串格式自动转成List:
searchDTO{
‘waybillNos‘:‘1111, 2222, 3333‘
}
后台使用对象接收:
public class searchDTO {
private List<String> waybillNos;
}
mapper中在where条件中需要判断list的长度是否>0
<select id="queryPage" resultMap="BaseResultMap"
parameterType="com.dto.SearchDTO">
SELECT * FROM table_name WHERE 1=1
<if test="waybillNos != null and waybillNos.size>0">
AND waybill_no IN
<foreach collection="waybillNos" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
这样,就可以从前端轻松传入list并合成查询条件。
Spring MVC中前端传递list,Mapper中判断list长度并添加查询条件
原文:https://www.cnblogs.com/sean-zeng/p/13092205.html