搜索
您的当前位置:首页正文

事务控制简单说明

来源:吉趣旅游网

  事务控制:

  1、在Mysql中,只有innoDB才支持事务

  2、事务的处理可以保证批处理的完整性。

  3、事务主要是用来管理insert,update,delete

  事务的四大特性:ACID

  1、原子性

  2、一致性

  3、隔离性

  4、持久性

ps:事务一旦提交,不可回滚。

import com.jsoft.util.JDBCUtil;
import org.junit.Test;

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

public class test() {

    @Test
    public void test1() {
        Connection connection = JDBCUtil.getConnection();
        PreparedStatement preparedStatement1 = null;
        PreparedStatement preparedStatement2 = null;

        String sql1 = "update bank set balance = balance + 50 where bankname = 'chen'";
        String sql2 = "update bank set balance = balance + 50 where bankname = 'li'";

        try {
            // 关闭连接的事务的自动提交
            connection.setAutoCommit(false);
            preparedStatement1 = connection.prepareStatement(sql1);
            preparedStatement2 = connection.prepareStatement(sql2);

            System.out.println(preparedStatement1.executeUpdate());
//            int i = 10 / 0;
            System.out.println(preparedStatement2.executeUpdate());

            // 手动提交事务
            connection.commit();

        } catch (SQLException e) {
            try {
                connection.rollback();
            } catch (SQLException ex) {
                throw new RuntimeException(ex);
            }
        } catch (Exception e) {
            try {
                connection.rollback();
            } catch (SQLException ex) {
                throw new RuntimeException(ex);
            }
        }
    }

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top