mysql 动态注入 in (param)

UPDATE xxx t set
    t.xxx = #{xxx},
    t.xxx = #{xxx}
WHERE t.xxx IN (${xxx})
xxxDto dto = new xxxDto();
    dto.setXxx(xxx);
    dto.setXxx(xxx);
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < jsonArray.size(); i++) {
	buf.append("\"");
	buf.append(jsonArray.getString(i));
	buf.append("\"");
	buf.append(",");
}
dto.setXxx(buf.substring(0, buf.length()-1));
farmMapper.addFarmInsideFieldList(dto);

mysql 使用 in 关键字作为 where 条件时,

UPDATE xxx t set t.xxx = ?, t.xxx= ? WHERE t.xxx IN ("1089")

所以要在java 语言中拼接 IN 的入参条件时,在参数两侧加上“”,同时在 sql 语言中使用 $ 实现对入参的强制注入。 

猜你喜欢

转载自blog.csdn.net/qq_38836118/article/details/80107355