我有从数据库中读取数据的方案,修改并再次需要更新数据库。数据库中的数据超过1个。
public static void viewTable(Connection con, String dbName)
throws SQLException {
Statement stmt = null;
String query = "SELECT ID, ACCOUNT_NUMBER FROM BANK.ACCOUNT";
String updateUuery = "UPDATE BANK.ACCOUNT ACCOUNT_NUMBER=? WHERE ID=?";
try {
stmt = con.createStatement();
PreparedStatement ps = con.prepareStatement(updateUuery);
stmt.setFetchSize(25);
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
int supplierID = rs.getInt("ID");
String accountNumber = rs.getString("ACCOUNT_NUMBER");
String decrypt=decryptString(accountNumber);
String encrypt=encryptString(decrypt);
ps.setString(1,encrypt);
ps.setInt(2,supplierID);
ps.addBatch();
}
ps.executeBatch();
} catch (SQLException e) {
} finally {
if (stmt != null) {
stmt.close();
}
}}public static String encryptString(String encryptString){ //algorithm to encrypt
return "encryptedString";
}
目前我使用纯JDBC来使用批处理进行读取和更新。
我的问题是
如果我提交数据1 lac记录应该提交。如果有任何失败,1 lac记录会回滚(单次交易)。
在此输入代码