package cn.itcast.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Savepoint;
import cn.itcast.utils.JdbcUtils;
public class Demo2 {
/**
* 事务回滚点
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
Savepoint sp = null;
try{
conn = JdbcUtils.getConnection();
conn.setAutoCommit(false); //start
String sql1 = "update account set money=money-100 where name='aaa'";
conn.prepareStatement(sql1).executeUpdate();
sp = conn.setSavepoint(); //设置回滚点
String sql2 = "update account set money=money-100 where name='aaa'";
conn.prepareStatement(sql2).executeUpdate();
String sql3 = "update account set money&#
设置事务的回滚点
最新推荐文章于 2024-07-23 10:00:07 发布
该代码示例演示了如何在Java中使用JDBC事务管理设置回滚点。通过调用`setSavepoint()`方法创建一个保存点,然后在遇到异常时,利用`rollback(Savepoint)`回滚到指定的保存点,实现部分事务的回滚。在例子中,当执行除以零的操作引发异常时,仅回滚更新`account`表中`name='aaa'`的两条记录,而对`name='bbb'`的更新则被提交。
摘要由CSDN通过智能技术生成