码迷,mamicode.com
首页 > 数据库 > 详细

SQL事务

时间:2020-05-01 18:53:17      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:java   set   print   trace   imp   pre   自动提交   mysql   tac   

JDBC实现事务(transaction)

1.事务的开启connection.setAutoCommit(false);

2.中间语句是事务的执行语句

3.事务的提交connection.commit();

package JDBCTest;

import JDBCTest.utils.JdbcUtils;

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

public class TransactionTest {
    public static void main(String[] args) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;

        try {
            connection = JdbcUtils.getConnection ();
            //关闭数据库的自动提交,会自动开启事务
            connection.setAutoCommit (false);//开启事务
            String sql1 = "update account set money=money-400 where name=‘A‘";
            preparedStatement = connection.prepareStatement (sql1);
            preparedStatement.executeUpdate ();
            String sql2 = "update account set money=money+400 where name=‘B‘";
            preparedStatement = connection.prepareStatement (sql2);
            preparedStatement.executeUpdate ();

            connection.commit ();//提交事务
            System.out.println ("成功!");
        } catch (SQLException e) {
            e.printStackTrace ();
        } finally {
            JdbcUtils.release (connection,preparedStatement,null);
        }
    }
}
create table account
(
    name  varchar(10) null,
    money int         null,
    id    int auto_increment
        primary key
);

SQL事务

标签:java   set   print   trace   imp   pre   自动提交   mysql   tac   

原文地址:https://www.cnblogs.com/li33/p/12814074.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!