事物的创建 模拟简单的银行转账系统 ()

package Emprry;

import jdbcUtil.JdbcUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.jar.JarEntry;

public class Emprry {
    /*
    * 模拟银行转账
    * */
    public static void main(String[] args) {
        //定义空
        Connection conn=null;
        PreparedStatement pre=null;
        try {
            //调用JDBc封装工具类
             conn = JdbcUtil.getConnection();
            //手动开启事物
            conn.setAutoCommit(false);
            //       获取PreparedStatement
            pre = conn.prepareStatement("update coount set money=money-? where cname=?");
            //第一个数位 你的转账的钱
            pre.setDouble(1,100);
            //第二个为转钱人的名字

            pre.setString(2,"李斯");
            //执行sql语句
            pre.executeUpdate();
//        3 获取PreparedStatement
            pre = conn.prepareStatement("update coount set money=money+? where cname=?");
            //收钱
            pre.setDouble(1,100);
            //收钱的名字
            pre.setString(2,"商鞅");
            //执行sql语句
            pre.executeUpdate();
            //提交事物
            conn.commit();
            System.out.println("转账成功");
        } catch (SQLException e) {
            try {
                //如果转账失败执行事物回滚
                conn.rollback();
            } catch (SQLException e1) {

            }
            System.out.println("转账失败");
        }finally {
            JdbcUtil.close(pre,conn);
        }
    }
}

 

原文地址:https://www.cnblogs.com/hph1728390/p/10645567.html