往mybatis中批量插入数据报StackOverflowError

今天修改了批量插入业务sql后  报StackOverflowError错误(druid 解析sql时递归层级太深)  批量插入使用的foreach 一次插入5000条  只是插入时添加几个字段不至于 把插入条数改成100条测试 报语法错误  检查sql发现错误如下

(#{name,jdbcType=VARCHAR}, 
(#{note,jdbcType=VARCHAR},

复制的时候不小心把括号也复制了 看来以后还是括号单独钻一行

由此得知报StackOverflowError可能是sql太长或语法问题导致druid递归解析层级太深  

数据库限制导致mysql批量插入失败
内容大致如下
sqlserver 对条数和参数有限制 分别1000和2100
mysql对包大小有限制可以通过max_allowed_packet配置  默认4M  该限制针对所有sql语句 包括查询到的结果集

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章