事务

  4 事 务                    *****
Jdbc来操作事物 完成转账功能
 4.1 开发步骤
    1 获取链接
    2 开启事物
    3 获取PreparedStatement
  4 使用PreparedStatement 两次更新操作
  5 正常情况下提交事物
 6 出现异常 回滚事物
  7  关闭资源
package demo2;

import JdbcUtils.JdbcUtils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/*
*模拟银行的转业务
* **/
public class Demo1Transcation {

    private static Connection conn;
    private static PreparedStatement ps;

    public static void main(String[] args) {
        //1获取数据库连接
        try {
            conn = JdbcUtils.getConnection();
            //开启事务
            conn.setAutoCommit(false);
            //获取执行平台preparedStatement
            ps = conn.prepareStatement("update coount set  money=money-? where cname=?");

            //使用PreparedStatement两次操作
            ps.setDouble(1,500);
            ps.setString(2,"deng");
            ps.executeUpdate();
            ps = conn.prepareStatement("update coount set  money=money+? where cname=?");
           ps.setDouble(1,500);
           ps.setString(2,"xin");
           ps.executeUpdate();
           //提交事务
           conn.commit();
            System.out.println("转账成功");

        } catch (SQLException e) {
            //事务回滚
            try {
                conn.rollback();
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
            System.out.println("转账失败");
        }finally {
            JdbcUtils.close(ps,conn);
        }


    }


}
原文地址:https://www.cnblogs.com/qurui1998/p/10645543.html