JDBC sendiri menyokong kemas kini kelompok, API khusus adalah seperti berikut:
addBatch(String sql): Kaedah kelas Pernyataan, anda boleh menambah berbilang pernyataan sql pada senarai pernyataan SQL objek Pernyataan addBatch(): Kaedah kelas PreparedStatement boleh menambah berbilang penyata sql yang telah dikompilasi pada senarai pernyataan SQL bagi objek PreparedStatement executeBatch(): Hantar semua pernyataan SQL dalam objek Statement atau senarai pernyataan bagi Proses objek PreparedStatement pangkalan data clearBatch(): Kosongkan senarai pernyataan SQL semasa
Menggunakan API kemas kini kelompok, saya akan melaraskan kod anda seperti berikut: (Nota: Jika senarai SQL mengandungi terlalu banyak pernyataan SQL yang belum selesai, ralat OutOfMemory mungkin berlaku. Oleh itu, senarai pernyataan SQL perlu diproses tepat pada masanya cara.)
public class AddBatchSql {
public void add(String fid,String title,String content){
Connection connection = null;
Statement stmt = null;
String sql1 = null;
String sql2 = null;
try{
connection = ConnectionUtils.getConnection();
stmt = connection.createStatement();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateValue = simpleDateFormat.format(new Date());
sql1 = "insert into news_base(fid,title,date,author) values("+fid+",'"+title+"','"+dateValue+"','Admin')";
sql2 = "insert into news_content (cid,content) values("+fid+",'"+content+"')";
List<String> sqlList = new ArrayList<String>();
sqlList.add(sql1);
sqlList.add(sql2);
for (int i = 0; i < sqlList.size(); i++) {
String sql = sqlList.get(i);
stmt.addBatch(sql);
if (i==500) {
stmt.executeBatch();//为避免出现OutOfMemory错误,及时处理
stmt.clearBatch();//清空列表
}
}
//最后一次列表不足500条,处理
stmt.executeBatch();
}catch(Exception e){
e.printStackTrace();
}finally{
if(stmt != null){
try{
stmt.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
}
JDBC sendiri menyokong kemas kini kelompok, API khusus adalah seperti berikut:
Menggunakan API kemas kini kelompok, saya akan melaraskan kod anda seperti berikut: (Nota: Jika senarai SQL mengandungi terlalu banyak pernyataan SQL yang belum selesai, ralat OutOfMemory mungkin berlaku. Oleh itu, senarai pernyataan SQL perlu diproses tepat pada masanya cara.)
Berbilang rekod yang berkaitan mesti ditulis baris demi baris menggunakan kaedah ini.
Anda boleh menggunakan addBatch() untuk menyusun penyataan proses
Manfaat rangka kerja ditunjukkan, ia akan membantu anda melakukan operasi berulang