day66 事务

事务

        事务是数据库中的一个特性

        事务是一个不可分割的整个操作

        是对同一个事务中的多个sql语句,在执行时要么都成功,要么都失败

事务的四特性acid

        原子性:整个事务是不可分割的最小单位,执行时只有成功和失败其一

        隔离性:多个事务间能否互相影响,一个事物处理对另一个事务的处理的影响

        持久性:事务完毕,数据保留下来

        一致性:保证数据的完整型约束

        事务的开始:当执行某个select,update,insert,delete语句,事务开始

        执行结束后,事务结束(mysql数据库,javaJDBC)

事物并发问题       

多个事务同时操作同一表时,出现并发问题

     脏读:当A事务对表中数据进行修改时,但没有提交

                B事务查询语句,看到了A数据修改了没有提交的数据

                这是A事务把数据回滚

      不可重复读:A事务查询数据时       B事务对表中数据进行修改

                A事务在查询时与前一次查询的数据不一致

        幻读:A事务查询数据时,B事务对标中进行了添加或删除操作

                A事务再查询,数据多或者少的情况

事物的隔离级别

        读取未提交数据(read uncommitted)

        读取已提交数据(read committed):可以避免脏读

        可重复读(repeatable read)

        串行话(serializable):当A事务对表进行增删改查时,

                事务没有结束,其他事务不能对表进行任何操作        

Mysql默认为  可重复读(repeatable read)

Oracle 数据库仅包含第二种和第四种,默认为读已提交数据(read  committed);

在java使用jdbc使用事务操作

        1)设置jdbc事务提交为非自动提交

                connection.setAutoCommit(false)

        2)提交事务

                connection.commit()

        3)如果同一个事务sql语句出错,回滚事务

                connection.rollBack()

把事务的操作,编写在Service。保证同一个事物中使用的必须为同一个连接对象

        try{

                conn.setAutoCommit(false) //  写在执行Dao方法之前

                conn.commit()//提交事务

        }catch(SQLException e){

                conn.rollBack()

        }

相关推荐

  1. day66 事务

    2024-03-20 11:40:01       15 阅读
  2. <span style='color:red;'>day</span><span style='color:red;'>69</span>

    day69

    2024-03-20 11:40:01      32 阅读
  3. 力扣labuladong——一刷day66

    2024-03-20 11:40:01       33 阅读
  4. Day64.算法训练

    2024-03-20 11:40:01       38 阅读
  5. MySQL学习Day26——事务基础知识

    2024-03-20 11:40:01       24 阅读
  6. 60.Spring事务实现基本原理

    2024-03-20 11:40:01       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 11:40:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 11:40:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 11:40:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 11:40:01       18 阅读

热门阅读

  1. 【C++】每日一题 219 最小栈

    2024-03-20 11:40:01       18 阅读
  2. 决策树的学习及应用

    2024-03-20 11:40:01       21 阅读
  3. Spring JdbcTemplate 案例详解教程

    2024-03-20 11:40:01       17 阅读
  4. 车载摄像头 开发的现状和对比

    2024-03-20 11:40:01       17 阅读
  5. Android 设计模式单例

    2024-03-20 11:40:01       15 阅读
  6. 2080: [蓝桥杯2023初赛] 飞机降落

    2024-03-20 11:40:01       16 阅读
  7. 机器学习算法大全(MLS-C01)

    2024-03-20 11:40:01       17 阅读
  8. C#实战分享--爬虫的基础原理及实现

    2024-03-20 11:40:01       18 阅读