jdbc回滚操作

/**
 * Date: 2020/12/10
 * Author:kele
 * Description:事务的操作,合理使用回滚
 */
public class Testttt {
    
    

    @Test
    public void Test() {
    
    

        Connection connection = null;
        try {
    
    
        //将可能需要回滚的代码放到此处
            connection = JdbcUtil.getConnection();
            QueryRunner runner = new QueryRunner();
           connection.setAutoCommit(false);

            String sql = "update t_user set salary = salary + ? where id = ?";
            runner.update(connection,sql,100,2);

            String sql2 = "update t_user set salary = salary -- ? where id = ?";
            runner.update(connection,sql2,100,1);
			//之前没有异常抛出,执行
           connection.commit();
           System.out.println("成功");
        } catch (SQLException e) {
    
    

            try {
    
    
                System.out.println("失败");
                //有异常抛出,回滚
                connection.rollback();
            } catch (SQLException e1) {
    
    
                e1.printStackTrace();
            }
            JdbcUtil.closeConnection(connection);
            e.printStackTrace();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_38705144/article/details/110954580