近期在使用達夢資料庫(和oracel語法差不多)批量插入資料的時候報錯:巢狀層太多。
看了報錯資訊發現插入資料並不算太多一共145條,sql語句也沒有問題,但就是執行不成功,感覺是拼接後的sql語句太長了,導致執行無果。
分批次執行,每次50條,手動提交事務。
//分批次插入 資料 insertranges
private int batchinsertdatas( listscorerangelist)
session.insert("insertranges", templist);
session.clearcache();
}session.commit();
result=stop;
} catch (exception e) finally
}return result;
}
需要注意的是 需要手動注入 org.mybatis.spring.sqlsessiontemplate
@autowired
private sqlsessiontemplate sqlsessiontemplate;
獲取session連線後,找到mybatis上下文中「insertranges」 的執行語句,提交事務,獲取插入結果。
這點資料量就要分批次執行,總感覺不太行,暫時也沒啥想法,往後拖拖在說。
MyBatis 動態插入多條資料
mysql支援的一種插入多行資料的insert語句寫法是 insert into 表名 欄位名1,欄位名2,欄位名3 values 值1,值2,值3,值1,值2,值3,對應的介面方法 給news插入多條類別 public int addmorenewstypebynewsid param newsi...
MySQL批量插入多條資料
mysql在插入大量資料 十萬級或者百萬級別 時效率會變得很差,所以需要採用以下方法來提高其插入效率。a 關閉自動提交,改為手動提交 connect.setautocommit false 插入資料完後最後再con.commit b 拆分資料,多執行緒入庫 c 一條插入語句插入多條資料 insert...
Oracle 批量插入多條資料
mysql中可以這樣 insert into test table id,name,age values 1 abc 23 2 kkk 33 以上語句不能在oracle資料庫執行。oracle中可以這樣 insert allinto test table id,name,age values 1 a...