事务管理
事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这多个步骤要么同时成功,要么同时失败。
- 开启事务
- 提交事务
- 回滚事务
使用 Connection 对象来管理事务:
开启事务:
connection.setAutoCommit(false); // 参数设置为 false 事务开启
提交事务:
connection.commit(); // 当所有 sql 全都执行完毕时,提交事务
回滚事务:
catch (Exception throwables) {
// 在 catch 中事务回滚
try {
if (connection != null) {
connection.rollback();
}
} catch (SQLException e) {
e.printStackTrace();
}
throwables.printStackTrace();
}
初始时 account 表中的数据:
不使用事务管理:
package com.ztq.JDBC;
import com.ztq.util.JDBCUtils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
/**
* @author: ZTQ
* @Title: Transfer
* @ProjectName: JDBC
* @Description: 转账
* @date: 2021/4/18 16:30
*/