往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語句 包括查詢到的結果集

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