参考

(525条消息) mybatis解决<foreach>标签不能超过1000的问题_mybatis每次提交1000条数据_小海海不怕困难的博客-CSDN博客

本人自测

   @Override
    public List<Dict> a20000() {
        ArrayList<String> list1 = new ArrayList<>();
        for (int i = 0; i < 6000; i++) {
            list1.add(String.valueOf(i));
        }
        List<Dict> list=  dictMapper.select2000(list1);
        return list;
    }

 

 

   <select id="select2000" resultType="com.atguigu.yygh.model.cmn.Dict">
        select * from t_test
        WHERE
        t_test.id IN
        <foreach collection="list1" index="index" open="(" close=")" item="id" separator=",">
        <if test="(index % 999) == 998"> NULL) OR t_test.id IN(</if>

         #{id}
        </foreach>

    </select>

最终的sql

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐