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

网页设计网站名称营销策略ppt

网页设计网站名称,营销策略ppt,长沙网站开发培训,网站音乐播放器源码1. IKeyGenerator主键生成 内置实现类,缺少mysql,因为mysql不支持序列,只能通过表模拟序列 H2KeyGenerator PostgreKeyGenerator KingbaseKeyGenerator 人大金仓的KES数据库 DB2KeyGenerator OracleKeyGenerator2. 新建表模拟序列 CREATE T…

1. IKeyGenerator主键生成

内置实现类,缺少mysql,因为mysql不支持序列,只能通过表模拟序列
H2KeyGenerator
PostgreKeyGenerator
KingbaseKeyGenerator	人大金仓的KES数据库
DB2KeyGenerator
OracleKeyGenerator

2. 新建表模拟序列

CREATE TABLE `dual_sequence` (`sequence_key` varchar(100) NOT NULL COMMENT '序列key(主键)',`step` int NOT NULL DEFAULT '1' COMMENT '步长',`start_value` bigint NOT NULL DEFAULT '0' COMMENT '开始值',`end_value` bigint DEFAULT NULL COMMENT '结束值',`ver` int DEFAULT NULL COMMENT '版本号',PRIMARY KEY (`sequence_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='临时序列表 '--添加一条记录
INSERT INTO dual_sequence
(sequence_key, step, start_value, end_value, ver)
VALUES('next.dbid', 1, 0, NULL, 0);

3.代码实现

MysqlKeyGenerator类

package com.yl.mybatisplus.plugin;import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
import com.yl.mybatisplus.mp.entity.DualSequence;
import com.yl.mybatisplus.mp.mapper.DualSequenceMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;@Component
public class MysqlKeyGenerator implements IKeyGenerator {@Autowiredprivate DualSequenceMapper dualNextMapper;/*** 执行sql** @param incrementerName 序列名称(对应类上注解 {@link KeySequence#value()} 的值)* @return*/@Overridepublic String executeSql(String incrementerName) {// 先查询悲观锁,再修改乐观锁 保证查询的是最新的,如果更新失败,再次获取最新的DualSequence dualSequence = dualNextMapper.selectById("next.dbid");Long startValue = dualSequence.getStartValue();int number = dualNextMapper.updateById(dualSequence);//如果更新失败,再次执行查询获取最新的if (number == 0) {return executeSql(incrementerName);}//更新后的是最新的起始值作为idreturn String.valueOf(startValue+dualSequence.getStep());}
}

其他类

package com.yl.mybatisplus.mp.entity;import lombok.Data;/*** 临时序列** @author liuxubo* @date 2023/8/10 10:27*/
@Data
public class DualSequence {private String sequenceKey;private Integer step;private Long startValue;private Long endValue;private Long ver;
}package com.yl.mybatisplus.mp.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yl.mybatisplus.mp.entity.DualSequence;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;/*** <p>* 临时序列表 Mapper 接口* </p>** @author admin* @since 2021-03-27*/
@Mapper
public interface DualSequenceMapper extends BaseMapper<DualSequence> {/*** 使用悲观锁,防止查询时,其他线程修改** @param sequenceKey* @return*/@Select("select * from dual_sequence where sequence_key=#{sequenceKey} for update")DualSequence selectById(String sequenceKey);/*** 使用版本号修改** @param dualSequence 临时序列* @return*/@Update("update dual_sequence set start_value=start_value+step, ver=ver+1 where sequence_key=#{sequenceKey} and ver=#{ver}")int updateById(DualSequence dualSequence);
}
package com.yl.mybatisplus.mp.controller;import com.yl.mybatisplus.plugin.MysqlKeyGenerator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 临时序列** @author liuxubo* @date 2023/8/10 10:54*/
@RestController
@RequestMapping("/sequence")
public class DualSequenceController {@Autowiredprivate MysqlKeyGenerator mysqlKeyGenerator;@GetMapping("/nextId")public String nextId(){return mysqlKeyGenerator.executeSql(null);}}
http://www.mmbaike.com/news/78780.html

相关文章:

  • 专业网站建设需要多少钱百度竞价推广有哪些优势
  • 腾讯云 wordpress建站目前最好的引流推广方法
  • 甘肃党风廉政建设办网站美国最新消息今天 新闻
  • 网站开发设计的技术网站标题算关键词优化吗
  • 大连建设银行社会招聘网站武汉网络推广有哪些公司
  • 材料信息价查询网站营销网络的建设有哪些
  • 南宁营销型网站设计培训机构营业执照如何办理
  • 柯基合肥全网优化
  • 网站 seo 优化建议win优化大师怎么样
  • 天津去山西高铁做哪个网站开发一个app平台大概需要多少钱?
  • 宝安关于网站建设企业网站怎么建立
  • 哪家做公司网站百度指数网页版
  • 做电子的外单网站有哪些的成都官网seo服务
  • 网页设计制作网站代码html手机搜索引擎
  • 塑胶加工东莞网站建设技术支持seo商城
  • 东莞网站制作公司是什么网络推广的渠道有哪些
  • 做购物网站表结构分析百度长尾关键词挖掘工具
  • 上海网站制作公司沈阳头条今日头条新闻最新消息
  • 大连哪个企业想做网站百度极速版app下载
  • 做鸭子的网站seo实战培训王乃用
  • 做网站的书知乎今日足球赛事分析推荐
  • 武汉网站二次开发北京seo站内优化
  • 大学生网站作品安康地seo
  • 企业网站空间买虚拟主机品牌网络营销案例
  • 杭州网站建设icp备全国知名网站排名
  • 网站与微信对接北京疫情最新数据
  • 游戏充值网站怎么做临沂百度推广多少钱
  • wordpress 最大上传seo公司网站
  • 如何做ico空投网站线上推广如何引流
  • 山西省新农村建设网站灰色关键词排名方法