MySQL in查询参数化
背景
如何将MySQL的where ... in ...
语句翻译成有参数的查询语句
开始
MySQL
1 | select * from temp where id in ('1','2','3','4','5') |
解决方案
不带参数
1 | select * from temp where FIND_IN_SET(id, '1,2,3,4,5') |
带参数
1 | select * from temp where FIND_IN_SET(id, #{idSet}) |
其中,idSet
是一个由集合类型转换过来的字符串类型,在Java
中,有这么一个简单的方法:
1 | String str = StringUtils.join(list, ","); // 集合转String |