Java数据库回滚是指在执行一系列数据库操作时,如果某个操作失败或者出现异常,可以撤销之前已经执行的操作,恢复到操作之前的状态,在Java中,可以使用JDBC(Java Database Connectivity)来实现数据库回滚。
以下是一个简单的Java数据库回滚示例:
1、导入相关包
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException;
2、加载数据库驱动并建立连接
public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, user, password); // 开启事务 conn.setAutoCommit(false); // ...执行数据库操作... // 提交事务 conn.commit(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { try { // 发生异常,回滚事务 conn.rollback(); } catch (SQLException ex) { ex.printStackTrace(); } e.printStackTrace(); } finally { try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } }
3、执行数据库操作,例如插入、更新或删除数据,在这个示例中,我们使用PreparedStatement
来执行插入操作。
try { String sql = "INSERT INTO users (username, password) VALUES (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, "testUser"); pstmt.setString(2, "testPassword"); pstmt.executeUpdate(); } catch (SQLException e) { // ...回滚事务... }
4、如果所有操作都成功执行,可以提交事务,否则,在捕获到异常后,调用rollback()
方法回滚事务。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/642789.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复