有些時候,適合用jdbc。比如讀乙個大的excel檔案資料到資料庫
public static listwelfareimport(multipartfile file,string id,string businesstype,iwelfaredao welfaredao) throws ioexception, sqlexception,excelparseexception else if (filetype.equals("xlsx")) else
int startrow = sheet.getfirstrownum();
int endrow = sheet.getlastrownum();
int rows = endrow - startrow + 1;
long start = system.currenttimemillis();
connection = dbutil.createconnection();
connection.setautocommit(false);
statement statement = (statement) connection.createstatement();
try/*parammap.put("id",id);
parammap.put("welfareid", id);*/
/*if (string.valueof(row.getcell(0)).indexof(".") > 0) else */
if (row.getcell(1) == null || "".equals(row.getcell(1).tostring()))
******dateformat sdf = new ******dateformat("yyyy/mm/dd");
date date = new date();
try catch (exception e) catch (parseexception e1)
}statement.addbatch(sql);} }
}statement.executebatch();
connection.commit();
}catch(exception e)
connection.setautocommit(true);
system.out.println("時間 -----------"+(system.currenttimemillis() - start));
system.out.println("----執行完畢----");
return sourcedata;
}在執行過程中,發現資料量很大的時候,更新很慢,所以, 在表上加了乙個索引,把where條件中的字段,作為索引,要不然查詢很慢。
jdbc批量匯入資料
jdbc批量插入主要用於資料匯入和日誌記錄因為日誌一般都是先寫在檔案下的等。我用mysql 5.1.5的jdbc driver 分別對三種比較常用的方法做了測試 try prest.executebatch conn.commit conn.close catch sqlexception ex c...
JDBC批量插入資料
一.直接上源 以匯入課表資料為例 批量插入新申請 匯入預設課表 throws sqlexception catch sqlexception e int number ps.executebatch 把剩餘的資料插入 conn.commit 手動提交事務 try catch sqlexception...
JDBC批量插入資料
批量操作的方式一般有兩種 事務提交方式和批量處理 先將命令的提交方式設為false,即手動提交conn.setautocommit false 最後在所有命令執行完之後再提交事務conn.commit private string url jdbc mysql localhost 3306 test...