批量處理允許您將相關的sql語句分組到批處理中,並通過對資料庫的一次呼叫提交它們。
當您一次向資料庫傳送多個sql語句時,可以減少連線資料庫的開銷,從而提高效能。
jdbc實現批處理有兩種方式:statement
和preparedstatement
使用statement物件新增要批量執行sql語句,如下:
1.使用createstatement()方法建立statement物件。
2.使用setautocommit()將auto-commit設定為false 。(將jdbc的自動提交設定為false)
3.使用addbatch()方法在建立的語句物件上新增您喜歡的sql語句到批處理中。
4.在建立的語句物件上使用executebatch()方法執行所有sql語句。
5. 最後,使用commit()方法提交所有更改。
步驟一:準備資料表 employees
create
table
`employees`(`
last
`varchar(20
)default
null
,`id`
int(11)
notnull
auto_increment,`
first
`varchar(20
)default
null
,`age`
int(11)
default
null
,primary
key(
`id`))
engine
=innodb
default
charset
=utf8;
步驟二:**實現
public
static
void
main
(string[
] args)
throws exception
2.1.使用statement物件進行批處理操作優缺點
採用statement.addbatch(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'
);
使用preparestatement物件新增要批量執行sql語句,如下:
使用佔位符建立sql語句。
使用preparestatement()方法建立preparestatement物件。
使用setautocommit()將auto-commit設定為false 。
使用addbatch()方法在建立的語句物件上新增您喜歡的sql語句到批處理中。
在建立的語句物件上使用executebatch()方法執行所有sql語句。
最後,使用commit()方法提交所有更改。
**實現:
public
static
void
main
(string[
] args)
throws exception
示例2:
/*
* 例項2:preparestatement物件進行批處理
*/public
class
demo2
int[
] arrays = ps.
executebatch()
;//執行批處理
conn.
commit()
;//手動提交
system.out.
println
("執行完畢:"
+arrays.
tostring
(arrays));
}catch
(sqlexception e)
}}
3.1.preparestatement物件進行批處理優點
採用preparedstatement.addbatch()實現批處理
優點:傳送的是預編譯後的sql語句,執行效率高。
缺點:只能應用在sql語句相同,但引數不同的批處理中。因此此種形式的批處理經常用於在同乙個表中批量插入資料,或批量更新表的資料。
JDBC的批處理
jdbc的批處理 1 批處理 一次性處理很多資料。解釋 有時候需要向資料庫傳送一批sql語句執行,這時應避免向資料庫一條條的傳送執行,而應採用jdbc的批處理機制,以提公升執行效率。2 兩種方式 statement statement stat conn.createstatement 建立語句 s...
jdbc 批處理操作
jdbc的批處理操作是指把一組sql語句 增刪改操作 一次性提交給資料庫去執行,提高效率。分為statement版和preparedstatement版。size medium 1.例子 size 資料庫軟體 postgresql 資料庫名稱 test 資料庫圖表 intense 資料庫表 mira...
JDBC的批處理
第一種 採用statement.addbatch sql 方式實現批處理 優點 可以向資料庫傳送多條不同的 語句。缺點 sql語句沒有預編譯。當向資料庫傳送多條語句相同,但僅引數不同的sql語句時,需重複寫上很多條sql語句。例如 insert into user name,password val...