oracle在使用in时数据超过1000条时报错
解决方案1
如果涉及手写sql,需要将数据进行分割,使用List.partion方法对数据进行分割,分割之后的结果类似于List这种类型的数据结构(二维数组),然后在使用in() or in() or in()
的方法来解决问题
解决方案2
采用exists加临时表的思路,将list中的数据组合成为一张临时表,然后判断主表中的数据是否存在这个临时表中
//原来的sql
select * from table where cloumn in (....)
//修改之后的sql
select * from table a where exists (select * from (
select item1 num from dual
union all
select item2 num from dual
union all
select item3 num from dual
......
使用mybatisplus的foreach进行替换
) b where a.cloumn = b.num)