使用 MyBatis 原生批量插入拼接的插入 SQL 大小是 4.56M,而默认情况下 MySQL 可以执行的最大 SQL 为 4M,如果当执行SQL大于系统默认大小,那么在程序执行时就会报错了。
如何解决? 分片-批量插入
List<String> oldList = Lists.newArrayList();
List<List<String>> newList = Lists.partition(oldList, 3);
newList.forEach(e->batchSave(e));