如何在JDBC中禁用自动提交模式?
下面的代码片段向您展示了如何在执行JDBC命令时禁用自动提交操作。
package org.nhooo.example.jdbc;
import java.sql.*;
public class AutoCommitSettingExample {
private static final String URL = "jdbc:mysql://localhost/nhooo";
private static final String USERNAME = "root";
private static final String PASSWORD = "";
public static void main(String[] args) {
//应做的事:获取与数据库的连接,我们需要获取
//执行任何JDBC命令之前进行数据库连接
try (Connection connection =
DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
//禁用自动提交操作。默认情况下,每个语句
//在JDBC中针对数据库执行的操作处于自动提交模式。至
//禁用自动提交,将其设置为false
connection.setAutoCommit(false);
//做:在这里执行其他一些数据库操作
String sql = "DELETE FROM books WHERE isbn = ?";
try (PreparedStatement statement = connection.prepareStatement(sql)) {
statement.setString(1, "9781617294945");
statement.executeUpdate();
//最后,我们必须显式调用commit方法才能完成
//所有数据库操作
connection.commit();
} catch (SQLException e) {
//当发生异常时,回滚事务。
connection.rollback();
throw e;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>热门推荐
5 十月简短祝福语
10 中秋送健康祝福语简短
11 家长祝福语大全简短内容
12 职场祝福语大全 简短精辟
13 元旦的祝福语简短 公司
14 新年稳重的祝福语简短
15 职场韩语祝福语大全简短
16 邻家生小孩祝福语简短
17 新房开工吉日祝福语简短
18 经典送别祝福语大全简短