JBDC操作事务源码解析

阅读 126

2022-10-20


MySQL三十五:JBDC操作事务

package lesson04;

import lesson02.utils.JdbcUtils;

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

public class TestTransaction {
public static void main(String[] args) throws SQLException {
Connection conn=null;
PreparedStatement st=null;
ResultSet rs=null;

try {
conn = JdbcUtils.getConnection();
//关闭数据库的自动提交功能
conn.setAutoCommit(false);

String sql1="update accout set money=money-100 where name='A' ";
st = conn.prepareStatement(sql1);
st.executeUpdate(sql1);
String sql2="update accout set money=money+100 where name='B' ";
st = conn.prepareStatement(sql2);
st.executeUpdate(sql2);

//业务完毕,提交事务
conn.commit();
System.out.println("提交成功!");



} catch (SQLException throwables) {

conn.rollback(); //如果失败回滚事务

throwables.printStackTrace();
}finally {
JdbcUtils.release(conn,st,rs);
}
}


}


精彩评论(0)

0 0 举报