博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jdbc中的行级锁(悲观锁)和乐观锁
阅读量:3965 次
发布时间:2019-05-24

本文共 220 字,大约阅读时间需要 1 分钟。

在这里插入图片描述

1.行级锁(悲观锁)

select ename, job, sal from emp where job = ‘Manager’ for update;

在后面加了for update就产生了行级锁
作用:
将查询结果集在表中的对应的记录,开始锁住,在当前事务结束前,别的事务根本修改不了锁住的数据。

2.乐观锁

乐观锁会在数据后面添加一个隐藏的版本号,假设为version。

只要事务读取到的版本号没有改变,事务就能对数据进行修改

参考

转载地址:http://fauki.baihongyu.com/

你可能感兴趣的文章
在服务器上排除问题的头五分钟
查看>>
Diagnosing DFC Configuration Problems
查看>>
jboss java.lang.NoClassDefFoundError: Could not initialize class com.documentum.fc.client.DfClient
查看>>
随笔9
查看>>
Java~今日学习各种锁策略(乐观锁 悲观锁 读写锁等等)、CAS机制和synchronize的原理及其优化机制(锁消除 偏向锁 自旋锁 膨胀锁 锁粗化)
查看>>
动态规划(二)三角矩阵(Triangle)、路径总数(Unique Paths)、路径总数2(Unique Paths II)、最小路径和(Minimum Path Sum)
查看>>
动态规划(三)背包问题、回文串分割(Palindrome Partitioning)、编辑距离(Edit Distance)、不同子序列(Distinct Subsequences)
查看>>
Java~在使用isAlive时, 将线程对象已构造参数的形式传递给Thread对象时进行start启动时, 使用this和Thread.currentThread的差异
查看>>
Java~使用synchronized修饰静态方法带来的问题 与 同步synchronized代码块不使用String作为锁对象的原因
查看>>
Java~util包中Timer的使用, 演示cancel方法 和 对比schedule和scheduleAtFixedRate方法
查看>>
Java~并发容器ConcurrentHashMap、ConcurrentLinkedQueue、阻塞队列BlockingQueue的实现原理与使用
查看>>
Java~并发流程控制的手段CountDownLatch、CyclicBarrier、Semaphore和Exchanger工具类的学习和使用
查看>>
Java~学习Executor框架, 了解ThreadPoolExecutor和ScheduledThreadPoolExecutor
查看>>
Java~在maven项目中添加junit依赖实现单元测试(@After、@Before 、@Ignore、@Test)的使用
查看>>
selenium~使用unittest测试框架,批量执行测试脚本,addTest、makeSuite、TestLoader、discover的使用
查看>>
Spring~Bean的作用域(单例模式、原型模式)等, Bean的自动装配方法, @AutoWired和@Resource的区别
查看>>
Spring~使用注解配置开发(@Component、@Repository、@Service、@Controller)和使用JavaConfig实现配置开发
查看>>
Spring~使用Mybatis-Spring包将MyBatis与Spring整合(俩种方式实现), 解决静态资源不导入问题
查看>>
MyBatis~配置解析, 属性(properties)、设置(settings)、类型别名(typeAliases)、环境配置(environments)、映射器(mappers)
查看>>
MyBatis~使用万能的ResultMap解决属性名和字段名不一致问题,实现分页查询 | 使用注解实现简单的CRUD(注意@Param的使用)
查看>>