2.事务

本文详细介绍了数据库事务的概念,包括事务的四大特性:原子性、一致性、隔离性和持久性。通过命令行和代码示例展示了事务的使用,并探讨了不同隔离级别下可能出现的问题,如脏读、不可重复读和幻读。同时,提出了乐观锁和悲观锁作为解决丢失更新问题的策略。
摘要由CSDN通过智能技术生成

事务

在这里插入图片描述
在这里插入图片描述

1.事务概述

Transaction 其实指的一组操作,里面包含许多个单一的逻辑。只要有一个逻辑没有执行成功,那么都算失败。 所有的数据都回归到最初的状态(回滚)

  • 为什么要有事务?

为了确保逻辑的成功。 例子: 银行的转账。

2.使用命令行方式演示事务
  • 开启事务

    start transaction;

  • 提交或者回滚事务

    commit; 提交事务, 数据将会写到磁盘上的数据库
    rollback ; 数据回滚,回到最初的状态。

  1. 关闭自动提交功能。
    在这里插入图片描述

  2. 演示事务

在这里插入图片描述

3.使用代码方式演示事务

代码里面的事务,主要是针对连接来的。

  1. 通过conn.setAutoCommit(false )来关闭自动提交的设置。
  2. 提交事务 conn.commit();
  3. 回滚事务 conn.rollback();
@Test
	public void testTransaction(){
   
		
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
   
			conn = JDBCUtil.getConn();
			
			//连接,事务默认就是自动提交的。 关闭自动提交。
			conn.setAutoCommit<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值