事务

一、事务概述

1.什么是事务

一件事情有n个组成单元,要不这n个组成单元同时成功,要不n个单元就同时失败,就是将n个组成单元放到一个事务中.

2.mysql的事务

默认的事务:一条sql语句就是一个事务 默认就开启事务并提交事务

手动事务:

1)显示的开启一个事务:start transaction

可以执行多条sql,此时如果查看数据库,发现已经发生了变化,但其实这个是假的,并没有真正更新到存放数据库的磁盘上,而是存储在了日志文件中,相当于临时记一下。

2)事务提交:commit代表从开启事务到事务提交 中间的所有的sql都认为有效 真正的更新数据库

3)事务的回滚:rollback 代表事务的回滚 从开启事务到事务回滚 中间的所有的 sql操作都认为无效数据库没有被更新

 

3 . Oracle数据库事务不自动提交

二、JDBC事务操作

默认是自动事务:

执行sql语句:executeUpdate()  ---- 每执行一次executeUpdate方法 代表 事务自动提交

通过jdbc的API手动事务:

开启事务:conn.setAutoComnmit(false);

提交事务:conn.commit();

回滚事务:conn.rollback();

注意:控制事务的connnection必须是同一个

执行sql的connection与开启事务的connnection必须是同一个才能对事务进行控制

原文地址:https://www.cnblogs.com/leeoo/p/8337580.html