当前位置: 首页 > news >正文

搜点济南网站建设医院推广营销方式

搜点济南网站建设,医院推广营销方式,软件详细设计文档模板,小程序代注册乐观锁和悲观锁 场景 一件商品#xff0c;成本价是80元#xff0c;售价是100元。老板先是通知小李#xff0c;说你去把商品价格增加50元。小李正在玩游戏#xff0c;耽搁了一个小时。正好一个小时后#xff0c;老板觉得商品价格增加到150元#xff0c;价格太高#xf…乐观锁和悲观锁 场景 一件商品成本价是80元售价是100元。老板先是通知小李说你去把商品价格增加50元。小李正在玩游戏耽搁了一个小时。正好一个小时后老板觉得商品价格增加到150元价格太高可能会影响销量。又通知小王你把商品价格降低30元。 此时小李和小王同时操作商品后台系统。小李操作的时候系统先取出商品价格100元小王也在操作取出的商品价格也是100元。小李将价格加了50元并将10050150元存入了数据库小王将商品减了30元并将100-3070元存入了数据库。是的如果没有锁小李的操作就完全被小王的覆盖了。 现在商品价格是70元比成本价低10元。几分钟后这个商品很快出售了1千多件商品老板亏1万多。 上面的故事如果是乐观锁小王保存价格前会检查下价格是否被人修改过了。如果被修改过了则重新取出的被修改后的价格150元这样他会将120元存入数据库。 如果是悲观锁小李取出数据后小王只能等小李操作完之后才能对价格进行操作也会保证最终的价格是120元。 模拟修改冲突 数据库中增加商品表 CREATE TABLE t_product (id BIGINT(20) NOT NULL COMMENT 主键ID, NAME VARCHAR(30) NULL DEFAULT NULL COMMENT 商品名称, price INT(11) DEFAULT 0 COMMENT 价格, VERSION INT(11) DEFAULT 0 COMMENT 乐观锁版本号, PRIMARY KEY (id) );添加数据 INSERT INTO t_product (id, NAME, price) VALUES (1, 外星人笔记本, 100);添加实体 package com.xxxx.mybatisplus.pojo;import lombok.Data;Data public class Product {private Long id;private String name;private Integer price;private Integer version; } ProductMapper package com.xxxx.mybatisplus.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xxxx.mybatisplus.pojo.Product; import org.springframework.stereotype.Repository;Repository public interface ProductMapper extends BaseMapperProduct {} 测试 package com.xxxx.mybatisplus;import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xxxx.mybatisplus.mapper.ProductMapper; import com.xxxx.mybatisplus.mapper.UserMapper; import com.xxxx.mybatisplus.pojo.Product; import com.xxxx.mybatisplus.pojo.User; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;SpringBootTest public class MyBatisPlusPluginsTest {Autowiredprivate UserMapper userMapper;Autowiredprivate ProductMapper productMapper;Testpublic void testProduct01(){// 小李查询商品价格Product productLi productMapper.selectById(1);System.out.println(小李查询的商品价格 productLi.getPrice());// 100// 小王查询商品价格Product productWang productMapper.selectById(1);System.out.println(小王查询的商品价格 productWang.getPrice());// 100// 小李将商品价格50productLi.setPrice(productLi.getPrice() 50);productMapper.updateById(productLi);// 小王将商品价格-30productWang.setPrice(productWang.getPrice()-30);productMapper.updateById(productWang);// 老板查询商品价格Product productBoss productMapper.selectById(1);System.out.println(老板查询的商品价格 productBoss.getPrice());// 70}} 乐观锁实现流程 数据库中添加version字段 取出记录时获取当前version SELECT id,name,price,version FROM product WHERE id1更新时version 1如果where语句中的version版本不对则更新失败 UPDATE product SET priceprice50, versionversion 1 WHERE id1 AND version1Mybatis-Plus实现乐观锁 修改实体类 修改配置类 测试 优化修改流程 Testpublic void testProduct01(){// 小李查询商品价格Product productLi productMapper.selectById(1);System.out.println(小李查询的商品价格 productLi.getPrice());// 100// 小王查询商品价格Product productWang productMapper.selectById(1);System.out.println(小王查询的商品价格 productWang.getPrice());// 100// 小李将商品价格50productLi.setPrice(productLi.getPrice() 50);productMapper.updateById(productLi);// 小王将商品价格-30productWang.setPrice(productWang.getPrice()-30);int result productMapper.updateById(productWang);if (result 0){// 操作失败,重试Product productNew productMapper.selectById(1);productNew.setPrice(productNew.getPrice() - 30);productMapper.updateById(productNew);}// 老板查询商品价格Product productBoss productMapper.selectById(1);System.out.println(老板查询的商品价格 productBoss.getPrice());// 120}
http://www.zqtcl.cn/news/808160/

相关文章:

  • 新乡商城网站建设价格做网站网站会怎么样
  • 给个网站能用的2022作品集模板
  • 做推送好用的网站科技资讯网站有哪些
  • 手机上如何制作网站wordpress阅读量随机生成
  • 汝州市住房和城乡建设局网站网站自己做流量
  • 怎么做网站有利于收录沭阳做网站公司排名前十
  • 给企业做网站如何定价电商系统平台
  • 山东川畅科技网站设计流量网站建设教程
  • 湖南省住房建设厅网站企业手机网站制作
  • 做虚假网站犯法吗发稿计划
  • 网站怎么防黑客网站建设一般要多大空间
  • 做网站一般要多钱织梦做网站被告
  • 响应式网站如何设计网页设计与制作课程标准化项目申报书
  • 苏州公司技术支持 苏州网站建设蔬菜类网站建设规划书
  • 主流做网站wordpress字体设置
  • 大连网站建设解决方案加快政务网站群建设管理
  • 淮南网站建设全包成都设计咨询集团有限公司
  • 网站管理助手v3wordpress主题防盗版
  • 国外网页加速器seo优化排名怎么做
  • 网站后台做图片尺寸是多大企业网站的常见服务
  • 给企业建设网站的流程图南昌网站建设模板网络公司
  • 谷歌wordpress建站中山网站推广服务
  • php网站建设网站兼职做网站在那里接任务
  • 网站现在怎么做排名wordpress做成淘宝客
  • 广州网站设计成功柚米wordpress 总站模板
  • 江苏常州建设银行网站广州中学生网站制作
  • 微信公众平台怎么做微网站weirdcore制作网站
  • 国外网站如何建设seo关键词优化外包公司
  • 郑州商城网站建设多少钱商城类网站建设方案
  • 哈尔滨做网站哪好做网站公司分为国内还是国外