事务管理模型(银行转账)

Posted newcityboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事务管理模型(银行转账)相关的知识,希望对你有一定的参考价值。

package cn.itcast.jdbc;

import cn.itcast.util.JDBCUtils;

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

/**
* @author newcityman
* @date 2019/8/15 - 23:39
* 演示事务
*/
public class JDBCDemo09
public static void main(String[] args)
Connection conn = null;
PreparedStatement stmt1=null;
PreparedStatement stmt2=null;
try
// 1、获取连接
conn = JDBCUtils.getConnection();
// 2、开启事务
conn.setAutoCommit(false);
String sql1="update account set balance =balance-? where id=?";
String sql2="update account set balance =balance+? where id=?";

stmt1 = conn.prepareStatement(sql1);
stmt2 = conn.prepareStatement(sql2);

stmt1.setDouble(1,500);
stmt1.setInt(2,1);

stmt2.setDouble(1,500);
stmt2.setInt(2,2);

stmt1.executeUpdate();
// int i=1/0;
stmt2.executeUpdate();

conn.commit();
catch (SQLException e)
e.printStackTrace();
try
conn.rollback();
catch (SQLException e1)
e1.printStackTrace();




以上是关于事务管理模型(银行转账)的主要内容,如果未能解决你的问题,请参考以下文章

Spring事务银行转账示例

从银行转账失败到分布式事务:总结与思考

JDBC事务,银行转账,货物进出库等等。

从银行转账失败到分布式事务:总结与思考

transaction事务案例--银行转账

Spring事务管理的四种方式(以银行转账为例)