JDBC批理更新示例
ConnectionObject.java
public class ConnectionObject {
static String DB_DRIVER = "com.mysql.jdbc.Driver";
static String DB_CONNECTION = "jdbc:mysql://localhost:3306/test";
static String DB_USER = "userName";
static String DB_PASSWORD = "password";
public static Connection getConnection() {
Connection connection = null;
Class.forName(DB_DRIVER);
connection = DriverManager.getConnection(DB_CONNECTION, DB_USER,
DB_PASSWORD);
return connection;
}
}
</pre>
public void batchUpdateUsingPreparedStatement() throws SQLException {
int[] result = null;
String SQL = "update person set firstName=?,lastName=? where id=?";
// '?' is the placeholder for the parameter
try {
PreparedStatement stmt = connection.prepareStatement(SQL);
connection.setAutoCommit(false);
stmt.setString(1, "Abc"); // Value for the first parameter, namely 'firstName'
stmt.setString(2, "Def"); // Value for the second parameter, namely 'lastName'
stmt.setInt(3, 1); // Value for the third parameter, namely 'id'
stmt.addBatch(); // Add to Batch
stmt.setString(1, "Xyz");
stmt.setString(2, "Uvw");
stmt.setInt(3, 2);
stmt.addBatch(); // Add second query to the Batch
result = stmt.executeBatch(); // execute the Batch and commit
connection.commit();
} catch (SQLException e) {
connection.rollback();
e.printStackTrace();
} finally {
if (connection != null)
connection.close();
}
System.out.println("Number of rows affected: " + result.length);
}
</pre>
本文由用戶 fdwm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!