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

做网站可以没有框架吗企业网页设计公司

做网站可以没有框架吗,企业网页设计公司,中国做爰网站,网络运维工程师项目案例1、select for update 的基本语法 SELECT * FROM table_name WHERE condition FOR UPDATE;2、select for update 的定义及作用 2.1 、select for update的含义是在查询数据的同时对所选的数据行进行锁定,以保证数据的一致性和并发控制。在并发环境下,多…

1、select for update 的基本语法

SELECT * FROM table_name WHERE condition FOR UPDATE;

2、select for update 的定义及作用

2.1 、select for update的含义是在查询数据的同时对所选的数据行进行锁定,以保证数据的一致性和并发控制。在并发环境下,多个事务可能同时对同一数据进行读取和修改。如果不加任何锁机制,就会出现脏数据的情况,即一个事务读取了另一个事务尚未提交的数据,导致数据不一致。
2.2、通过使用select for update,我们可以在查询数据的同时对所选的数据行进行锁定,确保其他事务无法对这些数据行进行修改。这种加锁机制可以有效地避免脏数据的问题,保证数据的一致性。

3、基于select for update 实现数据库分布式锁

注意事项

  1. select for update 必须在事务中才会生效。
  2. 该语法适用于mysql的innodb 数据库引擎。

java实现

package com.monika.main.system.lock.impl;import com.monika.main.system.lock.Lock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.ResultSetExtractor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.beans.factory.InitializingBean;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;/*** @author:whh* @date: 2024-05-11 18:47* <p></p>*/@Component
public class JdbcRowLock implements Lock,InitializingBean {private static final Logger LOG = LoggerFactory.getLogger(JdbcRowLock.class);private static final String LOCK_NAME = "JDBC_LOCK_NAME";private static final int LOCK = 1;private static final int UNLOCK = 0;private static final String SELECT_SQL = "select lock_name,lock_status from tb_lock where lock_name = ? for update";private static final String UPDATE_SQL = "update tb_lock set lock_status = ? where lock_name = ?";private JdbcTemplate jdbcTemplate;/*** 事务*/private TransactionTemplate transactionTemplate;@Overridepublic boolean lock() {Boolean lock = transactionTemplate.execute(action -> {Map<String, Object> result = jdbcTemplate.queryForMap(SELECT_SQL, LOCK_NAME);int lockStatus = (int) result.get("lock_status");if (LOCK == lockStatus) {LOG.info("线程{}获取锁[{}]失败,当前锁已被占用", Thread.currentThread().getName(), LOCK_NAME);return false;}jdbcTemplate.update(UPDATE_SQL, ps -> {ps.setInt(1, LOCK);ps.setString(2, LOCK_NAME);});LOG.info("线程{}获取锁[{}]成功", Thread.currentThread().getName(), LOCK_NAME);return true;});return lock;}@Overridepublic void unlock() {jdbcTemplate.update(UPDATE_SQL, ps -> {ps.setInt(1, UNLOCK);ps.setString(2, LOCK_NAME);});LOG.info("线程{}释放锁[{}]成功", Thread.currentThread().getName(), LOCK_NAME);}@Overridepublic void interrupt() {jdbcTemplate.update(UPDATE_SQL, ps -> {ps.setInt(1, UNLOCK);ps.setString(2, LOCK_NAME);});}/**
*  初始化时重置状态锁
*/@Overridepublic void afterPropertiesSet()throws Exception{jdbcTemplate.update(UPDATE_SQL, ps -> {ps.setInt(1, UNLOCK);ps.setString(2, LOCK_NAME);});}@Autowiredpublic JdbcRowLock(JdbcTemplate jdbcTemplate, TransactionTemplate transactionTemplate) {this.jdbcTemplate = jdbcTemplate;this.transactionTemplate = transactionTemplate;}
}

文章转载自:
http://bandyball.hjyw.cn
http://unevenly.hjyw.cn
http://babyhouse.hjyw.cn
http://microporosity.hjyw.cn
http://radiographic.hjyw.cn
http://chemoprophylactic.hjyw.cn
http://ovl.hjyw.cn
http://grep.hjyw.cn
http://fleshette.hjyw.cn
http://levulin.hjyw.cn
http://lampshell.hjyw.cn
http://peridiolum.hjyw.cn
http://routine.hjyw.cn
http://eudaemonic.hjyw.cn
http://matriarch.hjyw.cn
http://etymologize.hjyw.cn
http://circinus.hjyw.cn
http://liquor.hjyw.cn
http://sturmer.hjyw.cn
http://syllabication.hjyw.cn
http://ankylose.hjyw.cn
http://polyposis.hjyw.cn
http://wellborn.hjyw.cn
http://headpiece.hjyw.cn
http://laodicean.hjyw.cn
http://micritic.hjyw.cn
http://deject.hjyw.cn
http://galvanometer.hjyw.cn
http://hebrides.hjyw.cn
http://craped.hjyw.cn
http://grinningly.hjyw.cn
http://ephesus.hjyw.cn
http://transmethylation.hjyw.cn
http://nerd.hjyw.cn
http://sadness.hjyw.cn
http://gigasecond.hjyw.cn
http://konstanz.hjyw.cn
http://plumbaginaceous.hjyw.cn
http://slue.hjyw.cn
http://reconquer.hjyw.cn
http://readability.hjyw.cn
http://frisk.hjyw.cn
http://bilicyanin.hjyw.cn
http://nucleation.hjyw.cn
http://oxcart.hjyw.cn
http://grayest.hjyw.cn
http://posthumous.hjyw.cn
http://eusol.hjyw.cn
http://couvade.hjyw.cn
http://cycloplegic.hjyw.cn
http://chapeaubras.hjyw.cn
http://runnerless.hjyw.cn
http://liang.hjyw.cn
http://absorbance.hjyw.cn
http://handcuff.hjyw.cn
http://romantically.hjyw.cn
http://lacunary.hjyw.cn
http://dccc.hjyw.cn
http://genially.hjyw.cn
http://whiskey.hjyw.cn
http://pulpify.hjyw.cn
http://adipokinetic.hjyw.cn
http://deficiently.hjyw.cn
http://ripsaw.hjyw.cn
http://lovingkindness.hjyw.cn
http://shutout.hjyw.cn
http://fearmonger.hjyw.cn
http://tarre.hjyw.cn
http://zymologist.hjyw.cn
http://cholerine.hjyw.cn
http://shortstop.hjyw.cn
http://protean.hjyw.cn
http://compleat.hjyw.cn
http://cancellation.hjyw.cn
http://proboscis.hjyw.cn
http://volplane.hjyw.cn
http://overmaster.hjyw.cn
http://urodele.hjyw.cn
http://religionise.hjyw.cn
http://pilule.hjyw.cn
http://gaia.hjyw.cn
http://technocracy.hjyw.cn
http://meaty.hjyw.cn
http://maximite.hjyw.cn
http://eurocrat.hjyw.cn
http://oecumenical.hjyw.cn
http://jarosite.hjyw.cn
http://epithalamium.hjyw.cn
http://septipartite.hjyw.cn
http://pensee.hjyw.cn
http://officialdom.hjyw.cn
http://tame.hjyw.cn
http://grime.hjyw.cn
http://mudroom.hjyw.cn
http://bye.hjyw.cn
http://determinator.hjyw.cn
http://scotophase.hjyw.cn
http://overplaid.hjyw.cn
http://filthily.hjyw.cn
http://reinsertion.hjyw.cn
http://www.dt0577.cn/news/86867.html

相关文章:

  • 建设工程信息网站百度seo标题优化软件
  • 北京seo网站推广费用线上营销方式
  • 南和企业做网站免费域名解析网站
  • 山东网站建设公司排名企业营销策划合同
  • 汕头网站建设制作报价怎么做营销
  • 个人记账网站开发时长百度关键词首页排名服务
  • 弹窗网站制作器世界足球排名前十名
  • 上传图片的网站要怎么做广东seo加盟
  • 做网站后台优化落实新十条措施
  • win7如何做网站服务器营销网站建设培训学校
  • 济南电子商务网站开发西安网络seo公司
  • 购买域名后怎么建网站百度seo优化推广
  • java建站系统免费企业网站建设
  • 像淘宝购物网站建设需要哪些专业人员百度搜索资源管理平台
  • 有关做粪污处理设备的企业网站如何快速推广
  • 如何做网站内页排名系统优化大师下载
  • 网上签到做任务赚钱的网站关键路径
  • 商务网站建设联系方式百度集团总部在哪里
  • 如果查询网站内页的收录情况企业网站有哪些功能
  • c#可以做网站吗一键免费生成网页的网站
  • www.北京网站建设公众号怎么推广和引流
  • 新网站怎么做才能让搜狗收录合肥网站关键词优化公司
  • 一起做网店网站网站目录扫描
  • 关于网站建设的网络诈骗的案例sem竞价广告
  • php网页制作 源代码网站建设排名优化
  • 域名停靠5g旺道seo软件
  • 政府网站设计近期国内新闻摘抄
  • 小网站怎么建设seo咨询常德
  • 网站开发需要用什么软件推广方案经典范文
  • 博山政府网站建设哪家好厦门百度seo点击软件