黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

JDBC 批量處理

jdbc 批量處理

批量處理允許將相關(guān)的sql語句分組到批處理中,并通過對數(shù)據(jù)庫的一次調(diào)用來提交它們,一次執(zhí)行完成與數(shù)據(jù)庫之間的交互。

一次向數(shù)據(jù)庫發(fā)送多個sql語句時,可以減少通信開銷,從而提高性能。

 

1. jdbc 批量處理方法

  • 使用 databasemetadata.supportsbatchupdates() 方法來確定目標(biāo)數(shù)據(jù)庫是否支持批量更新處理。如果 jdbc 驅(qū)動程序支持此功能,該方法將返回 true。
  • statement, preparedstatement 和 callablestatement 的 addbatch() 方法用于將單個語句添加到批處理。 executebatch()用于執(zhí)行組成批量的所有語句。
  • executebatch() 返回一個整數(shù)數(shù)組,數(shù)組的每個元素表示相應(yīng)更新語句的更新計數(shù)。
  • 就像將批處理語句添加到處理中一樣,可以使用 clearbatch() 方法刪除它們。此方法將刪除所有使用 addbatch() 方法添加的語句。但是,無法指定選擇某個要刪除的語句。

 

2. 使用 statement 批處理步驟

以下是使用 statement對象的批處理的典型步驟序列 -

  • 使用 createstatement() 方法創(chuàng)建 statement 對象。
  • 使用 setautocommit() 將自動提交設(shè)置為 false。
  • 使用 addbatch() 方法在創(chuàng)建的 statement 對象上添加 sql 語句到批處理中。
  • 在創(chuàng)建的 statement 對象上使用 executebatch() 方法執(zhí)行所有sql語句。
  • 最后,使用 commit()方法提交所有更改。

 

3. 使用 statement 批處理范例

以下代碼片段提供了使用 statement對象的批量更新示例:

// create statement object
statement stmt = conn.createstatement();

// set auto-commit to false
conn.setautocommit(false);

// create sql statement
string sql = "insert into employees (id, first, last, age) " +
             "values(200,'ruby', 'yang', 30)";
// add above sql statement in the batch.
stmt.addbatch(sql);

// create one more sql statement
string sql = "insert into employees (id, first, last, age) " +
             "values(201,'java', 'lee', 35)";
// add above sql statement in the batch.
stmt.addbatch(sql);

// create one more sql statement
string sql = "update employees set age = 35 " +
             "where id = 100";
// add above sql statement in the batch.
stmt.addbatch(sql);

// create an int[] to hold returned values
int[] count = stmt.executebatch();

//explicitly commit statements to apply changes
conn.commit();

 

4. 使用 preparestatement 批處理步驟

以下是使用 preparestatement對象進行批處理的典型步驟順序:

  • 使用占位符創(chuàng)建sql語句。
  • 使用 preparestatement()方法創(chuàng)建 preparestatement對象。
  • 使用 setautocommit()將自動提交設(shè)置為 false。
  • 使用 addbatch()方法在創(chuàng)建的 statement對象上添加sql語句到批處理中。
  • 在創(chuàng)建的 statement對象上使用 executebatch()方法執(zhí)行所有sql語句。
  • 最后,使用 commit()方法提交所有更改。

 

5. 使用 preparedstatement 批處理范例

以下代碼段提供了使用 preparedstatement 對象進行批量更新的示例:

// create sql statement
string sql = "insert into employees (id, first, last, age) " +
             "values(?, ?, ?, ?)";

// create preparestatement object
preparedstatemen pstmt = conn.preparestatement(sql);

//set auto-commit to false
conn.setautocommit(false);

// set the variables
pstmt.setint( 1, 400 );
pstmt.setstring( 2, "jdbc" );
pstmt.setstring( 3, "li" );
pstmt.setint( 4, 33 );
// add it to the batch
pstmt.addbatch();

// set the variables
pstmt.setint( 1, 401 );
pstmt.setstring( 2, "csharp" );
pstmt.setstring( 3, "liang" );
pstmt.setint( 4, 31 );
// add it to the batch
pstmt.addbatch();

//add more batches
.
.
.
.
//create an int[] to hold returned values
int[] count = stmt.executebatch();

//explicitly commit statements to apply changes
conn.commit();

下一節(jié):jdbc ascii流 和 二進制數(shù)據(jù)

jdbc 教程

相關(guān)文章