MySQL知识点整理

乐观锁介绍
乐观锁(Optimistic Locking) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。那么我们如何实现乐观锁呢,一般来说有如下方式:使用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式。何谓数据版本?即为数据增加一个版本标识,一般是通过为数据库表增加一个数字类型的 “version”字段来实现。当读取数据时,将version字段的值一同读出,数据每更新一次,对此version值加一。当我们提交更新的时候,判断数据库表对应记录的当前版本信息与第一次取出来的version值进行比对,如果数据库表当前版本号与第一次取出来的version值相等,则予以更新,否则认为是过期数据。

乐观锁的实现

update ${prefix}ACT_RU_EXECUTION set REV_ = #{revisionNext, jdbcType=INTEGER},BUSINESS_KEY_ = #{businessKey, jdbcType=VARCHAR} where ID_ = #{id, jdbcType=VARCHAR} and REV_ = #{revision, jdbcType=INTEGER}

int updatedRecords = sqlSession.update(updateStatement, updatedObject);
if (updatedRecords!=1) {
  throw new ActivitiOptimisticLockingException(updatedObject + " was updated by another transaction concurrently");
} 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
测试工程师在使用MySQL时需要掌握以下知识点: 1. SQL语句的使用:熟悉SQL语句可以提高测试工程师在数据库校验和接口自动化中的效率。常用的SQL语句包括查询、插入、更新和删除等操作,测试工程师需要了解这些基本的SQL操作以及各种查询条件的使用。 引用 2. MySQL客户端工具:测试工程师可以使用MySQL的客户端工具来连接和管理数据库。常用的MySQL客户端工具包括Sequel Pro、Navicat和SQLyog等。测试工程师需要熟悉这些工具的使用,包括连接数据库、执行SQL语句以及查看和修改数据等操作。 引用 3. 数据库校验:测试工程师在测试过程中通常需要对数据库中的数据进行校验,确保系统的各个模块正常运行和数据的一致性。测试工程师需要了解如何编写SQL语句来验证数据库中的数据是否符合预期结果。 引用 总结起来,测试工程师在MySQL方面的知识点包括SQL语句的使用、MySQL客户端工具的操作以及数据库校验等方面的知识。这些知识可以帮助测试工程师进行数据库相关的测试工作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [测试工程师入门知识整理](https://blog.csdn.net/embracestar/article/details/125818154)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值