通常插入資料時的**如下:
...
string sql = "insert into table (name) values(?)";
preparedstatement pstmt = conn.preparestatement(sql);
// 如果使用靜態的sql,則不需要動態插入引數
pstmt.setstring(1, name);
pstmt.executeupdate();
...
如果想要獲取自動增長的主鍵值,**如下:
string sql = "insert into table (name) values(?)";
// 指定返回生成的主鍵
preparedstatement pstmt = conn.preparestatement(sql, statement.return_generated_keys);
// 如果使用靜態的sql,則不需要動態插入引數
pstmt.setstring(1, name);
pstmt.executeupdate();
// 檢索由於執行此 statement 物件而建立的所有自動生成的鍵
resultset rs = pstmt.getgeneratedkeys();
if (rs.next())
...
rs.getint(1)的返回值即是返回的主鍵值。 如何利用jdbc快速插入百萬條資料
當須要向資料庫插入百萬條資料時,利用hibernate,mybatis等持久層框架時耗時較久,此時使用jdbc插入效率會更高。此種場景特別適用於讀取檔案匯入到資料庫。可以利用批處理來加快jdbc的插入效率。string sql insert into person id,name values co...
如何使資料庫插入多條資料用時最短
如何使插入條資料用時最短?可以根據專案實際情況採用如下幾種方式 為何對同乙個表的插入多執行緒會比單執行緒快?同一時間對乙個表的寫操作不應該是獨佔的嗎?在資料裡做插入操作的時候,整體時間的分配是這樣的 從這裡可以看出來,真正耗時的不是操作,而是鏈結,解析的過程。mysql插入資料在寫階段是獨佔的,但是...
使用JDBC插入大量資料的效能測試
使用jdbc向資料庫插入100000條記錄,分別使用statement,preparedstatement,及preparedstatement 批處理3種方式進行測試 1 使用statement插入100000條記錄 public void exec connection conn catch s...