介绍MySQL和JDBC的事务控制(TCL)
介绍MySQL和JDBC的事务控制(TCL)
一、MySQL的事务控制(Transaction Control Language)
1.事务的特性(ACID)
事务指的是逻辑上的一组操作,组成这组操作的逻辑单元要么一起成功,要么一起失败。
- 原子性(atomicity):强调事务不可分割。
- 一致性(consistency):强调的是事务的执行的前后,数据的完整性要保持一直。
- 隔离性(isolation):一个事务的执行不应该受到其他事务的干扰。
- 持久性(durability):事务一旦结束(提交/回滚)数据就持久保持到了数据库。
2.MySQL的事务控制
- 设置手动提交:set autocommit=false;
- 回滚 rollback;
- 提交 commit;
3.mysql事务演示
在原有的emp表中插入一条ename为mary的数据,设置手动提交,再进行回滚,查看是否插入成功。如果使用commit进行提交就无法回滚成功。
二、JDBC的事务控制
1.JDBC事务简介
默认事务提交策略:一条命令自成一个完整事务。需求:各个逻辑单元要么一起成功,要么一起失败。(如转账)
2.JDBC事务的API
- conn.setAutoCommit(false); //将JDBC事务设置手动提交
- conn.commit();
- conn.rollback();
3.JDBC事务控制模拟
在原有的emp表中修改ename名为hellen的记录,将其job从leader修改为clerk,奖金commit从600降低至300。(模拟交易)
TrasactionDemo:
代码添加了JDBC事务来处理两条sql语句(一条正确,一条错误),两条sql语句都没有执行。如果不添加JDBC事务处理,那么其中一条正确的sql语句就会单独执行。

-
MySQL Workbench怎么建立数据库(附:sql语句创建数据库方法) 2023-07-20 12:22:29
-
MySQL Workbench是什么?(附:如何设置中文教程) 2023-07-20 11:42:31
-
一起聊聊MySQL主从延时的处理方案 2023-05-14 07:00:03
-
mysql怎么将查询结果赋给变量 2023-05-14 07:00:03
-
mysql驱动是什么 2023-05-14 07:00:03
-
qt5.8如何连接mysql 2023-05-14 07:00:03
-
MySQL 语法整理介绍 2023-05-14 07:00:03
-
mysql修改表结构的语句是什么 2023-05-14 07:00:03
-
mysql乐观锁和悲观锁的区别是什么 2023-05-14 07:00:03
-
mysql查询怎么区分大小写 2023-05-14 07:00:02