使用JDBC進行批處理

2021-07-05 12:28:02 字數 1525 閱讀 3095

業務場景:當需要向資料庫傳送一批sql語句執行時,應避免向資料庫一條條的傳送執行,而應採用jdbc的批處理機制,以提公升執行效率。

實現批處理有兩種方式: 

第一種方式:使用 statement.addbatch(sql)

connection conn = jdbcutil.getconnection();

string sql1 = "insert into user(name,password,email,birthday) values('kkk','123','[email protected]','1978-08-08')";

string sql2 = "update user set password='123456' where id=3";

statement st = conn.createstatement();

st.addbatch(sql1); //把sql語句加入到批命令中

st.addbatch(sql2); //把sql語句加入到批命令中

st.executebatch();

採用statement.addbatch(sql)方式實現批處理:

•優點:可以向資料庫傳送多條不同的sql語句。

•缺點:

•sql語句沒有預編譯。

•當向資料庫傳送多條語句相同,但僅引數不同的sql語句時,需重複寫上很多條sql語句。例如:

insert into user(name,password) values(『aa』,』111』);

insert into user(name,password) values(『bb』,』222』);

insert into user(name,password) values(『cc』,』333』);

insert into user(name,password) values(『dd』,』444』);

第二種方式:

•preparedstatement.addbatch

()

connection conn = jdbcutil.getconnection();

string sql = "insert into user(name,password,email,birthday) values(?,?,?,?)";

preparestatement st = conn.preparestatement(sql);

for(int i=0;i<50000;i++)

}st.executebatch();

採用preparedstatement.addbatch

()實現批處理

•優點:傳送的是預編譯後的sql語句,執行效率高。

•缺點:只能應用在sql語句相同,但引數不同的批處理中。因此此種形式的批處理經常用於在同乙個表中批量插入資料,或批量更新表的資料。

使用JDBC進行批處理

當我們需要向資料庫傳送一批sql語句執行時,應避免向資料庫一條條的傳送執行,而應採用jdbc的批處理機制,以提公升執行效率 有兩種方式實現批處理 1.使用statement statement.addbatch sql 方法 新增sql語句 executebatch 方法 執行批處理命令 clear...

使用JDBC進行批處理

當需要向資料庫傳送一批sql語句執行時,應避免向資料庫一條條的傳送執行,而應該採用jdbc的批處理機制,以提公升執行效率。方式一 statement.addbatch sql 可以傳送不同的sql語句 執行sql語句的方法 executebatch 清除批處理命令的方法 clearbatch con...

使用JDBC進行批處理

l業務場景 當需要向資料庫傳送一批sql語句執行時,應避免向資料庫一條條的傳送執行,而應採用jdbc的批處理機制,以提公升執行效率。l實現批處理有兩種方式,第一種方式 statement.addbatch sql l執行批處理sql語句 executebatch 方法 執行批處理命令 clearba...