java
BigDecimal amount = testMapper.getSumAmount(CollectionUtil.split(urids, 999))
上面的sql之所以切割成999是因为Oracle in语句中支持的最大集合是999,超过会报ORA-01795。
另一种情况没考虑,也就是urids超过65536个时会报ORA-01745,因为Oracle支持的占位符上限是65536
参考文档 https://www.jianshu.com/p/e1e71192e232
参考文档 https://dzone.com/articles/too-many-preparedstatement-placeholders-in-oracle