首页 >

MyBatis如何理解事物控制呢 – 数据库 – 前端|

地牢猎手4被封号怎么办,qq空间的广告怎么找到,怎么看苹果cpu是哪家的MyBatis如何理解事物控制呢 - 数据库 - 前端|MyBatis如何理解事物控制呢

什么是事务

一、概念

事务指的是逻辑上的一组操作,这一组操作要不同时成功,要不同时失败,只要这一组操作里有一个失败,意味着这一组都失败 —同生共死

二、事务的管理

(MySQL数据库事务默认是自动提交,Oracle数据库事务默认是不自动提交)

(一)dos命令行管理事务1.手动开启事务start tansaction –开启事务excute 多条 sqlcommit 提交 / rollback 回滚2.设置一个自动提交参数show variables like ‘%commit%’ –查看与commit相关参数set autocommit = 0; — 将autocommit参数设置为OFF.

(二)JDBC管理事务JDBC的事务的管理的APIsetAutoCommit(boolean autoCommit); –是自动提交还是手动commit(); –提交事务rollback(); –回滚

(三)创建表,插入3条数据create table account(id int primary key auto_increment,name varchar(20),money double);

insert into account values (null,’张森’,10000);insert into account values (null,’凤姐’,10000);insert into account values (null,’如花’,10000)

内省1.用来获取JavaBean的属性及属性的get和set方法2.JavaBean就是一个满足了特定格式的Java类

三、事务特性

原子性:强调事务的不可分割一致性:强调的是事务的执行的前后,数据的完整性要保持一致隔离性:一个事务的执行不应该受到其他事务的干扰持久性:事务一旦结束(提交/回滚)数据就持久保持到了数据库

四、如果不考虑隔离性,会引发一些安全性问题

1、读问题脏读:一个事务读到另一个事务还没有提交的数据不可重复读:一个事务读到了另一个事务已经提交的update数据,导致在当前的事务中多次查询数据不一致虚读/幻读:一个事务读到另一个事务已经insert数据,导致当前事务中多次查询结果不一致

2、写问题引发两类丢失更新

五、解决引发的读问题

设置事务的隔离级别read uncommitted :未提交读。脏读,不可重复读,虚读都可能发生read committed :已提交读。避免脏读,不可重复读和虚度有可能发生repeatable read :可重复读。避免脏读和不可重复读,虚读可能发生serializable :串行化的。避免脏读,不可重复读,虚读的发生select @@tx_isolation; 查看隔离级别set session transaction isolation level 级别; 设置隔离级别


MyBatis如何理解事物控制呢 - 数据库 - 前端|
  • 编程新手如何快速提高开发能力 - 数据库 - 前端|
  • 编程新手如何快速提高开发能力 - 数据库 - 前端| | 编程新手如何快速提高开发能力 - 数据库 - 前端| ...

    MyBatis如何理解事物控制呢 - 数据库 - 前端|
  • mysql 恢复 数据,mysql自己删了几个包还原不回来 - 数据库 - 前端,mysql怎么检查语句问题
  • mysql 恢复 数据,mysql自己删了几个包还原不回来 - 数据库 - 前端,mysql怎么检查语句问题 | mysql 恢复 数据,mysql自己删了几个包还原不回来 - 数据库 - 前端,mysql怎么检查语句问题 ...

    MyBatis如何理解事物控制呢 - 数据库 - 前端|
  • mysql查询思索,大数据分析需要学习什么 - 数据库 - 前端,mysql从删库到跑路图片
  • mysql查询思索,大数据分析需要学习什么 - 数据库 - 前端,mysql从删库到跑路图片 | mysql查询思索,大数据分析需要学习什么 - 数据库 - 前端,mysql从删库到跑路图片 ...