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

广州网站设计智能 乐云践新专家中国广电山东网络有限公司

广州网站设计智能 乐云践新专家,中国广电山东网络有限公司,哪个网站可以做鞋鉴定,页面设计需求发展在使用mybatisplus自带雪花的时候会发现返回的ID是19位的长度#xff0c;因此在通过swagger页面展示的时候会发现后端返回的和页面展示的ID不一致问题。是因为精度丢失的问题。因此需要更改雪花ID的长度跟踪进去#xff1a;发现是DefaultIdentifierGenerator类实现了Identifi…在使用mybatisplus自带雪花的时候会发现返回的ID是19位的长度因此在通过swagger页面展示的时候会发现后端返回的和页面展示的ID不一致问题。是因为精度丢失的问题。因此需要更改雪花ID的长度跟踪进去发现是DefaultIdentifierGenerator类实现了IdentifierGenerator并重写了nextId方法,因此需要我们重写nextId方法 进行重写 package com.ssdl.config.automatic;import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import com.ssdl.util.IdGenerator; import org.springframework.stereotype.Component;Component public class CustomerIdGenerator implements IdentifierGenerator {Overridepublic Number nextId(Object entity) {return IdGenerator.generateId();} }package com.ssdl.util;import java.util.Date; import java.util.UUID;/*** compressed id generator, result id not great than 53bits before 2318-06-04.*/ public class IdGenerator {private static IdGenerator instance new IdGenerator(0);public static IdGenerator initDefaultInstance(int machineId) {instance new IdGenerator(machineId);return instance;}public static IdGenerator getInstance() {return instance;}public static long generateId() {return instance.nextId();}// total bits53(max 2^53-19007199254740992-1)// private final static long TIME_BIT 40; // max: 2318-06-04private final static long MACHINE_BIT 5; // max 31private final static long SEQUENCE_BIT 8; // 256/10ms/*** mask/max value*/private final static long MAX_MACHINE_NUM -1L ^ (-1L MACHINE_BIT);private final static long MAX_SEQUENCE -1L ^ (-1L SEQUENCE_BIT);private final static long MACHINE_LEFT SEQUENCE_BIT;private final static long TIMESTMP_LEFT MACHINE_BIT SEQUENCE_BIT;private long machineId;private long sequence 0L;private long lastStmp -1L;private IdGenerator(long machineId) {if (machineId MAX_MACHINE_NUM || machineId 0) {throw new IllegalArgumentException(machineId cant be greater than MAX_MACHINE_NUM or less than 0);}this.machineId machineId;}/*** generate new ID** return*/public synchronized long nextId() {long currStmp getTimestamp();if (currStmp lastStmp) {throw new RuntimeException(Clock moved backwards. Refusing to generate id);}if (currStmp lastStmp) {sequence (sequence 1) MAX_SEQUENCE;if (sequence 0L) {currStmp getNextTimestamp();}} else {sequence 0L;}lastStmp currStmp;return currStmp TIMESTMP_LEFT //| machineId MACHINE_LEFT //| sequence;}private long getNextTimestamp() {long mill getTimestamp();while (mill lastStmp) {mill getTimestamp();}return mill;}private long getTimestamp() {// per 10msreturn System.currentTimeMillis() / 10;// 10ms}public static Date parseIdTimestamp(long id) {return new Date((id TIMESTMP_LEFT) * 10);}public static String uuid() {return UUID.randomUUID().toString().replaceAll(-, );} }插曲 在使用mybatisplus时自动插入创建时间之类的操作 package com.ssdl.config.autoMatic;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component;import java.util.Date;Component public class MybatisHandler implements MetaObjectHandler {Overridepublic void insertFill(MetaObject metaObject) {//属性名this.setFieldValByName(createTime, new Date(), metaObject);this.setFieldValByName(updateTime, new Date(), metaObject);this.setFieldValByName(isDel, 0, metaObject);this.setFieldValByName(createUser, admin, metaObject);this.setFieldValByName(updateUser, admin, metaObject);//this.setFieldValByName(createUser, SecureUtil.getUserId(), metaObject);//不维护create_user可以不使用这行代码}Overridepublic void updateFill(MetaObject metaObject) {//属性名this.setFieldValByName(updateTime, new Date(), metaObject);this.setFieldValByName(updateUser, admin, metaObject);//this.setFieldValByName(updateUser, SecureUtil.getUserId(), metaObject);} }TableId(value id,type IdType.ASSIGN_ID)private Long id;/*** 进行新增或者更新操作时* Mybatis自动进行维护时间*/TableField(fill FieldFill.INSERT)private String createUser;TableField(fillFieldFill.INSERT)JsonFormat(shape JsonFormat.Shape.STRING, pattern yyyy-MM-dd HH:mm:ss, timezone GMT8)private Date createTime;TableField(fillFieldFill.INSERT_UPDATE)JsonIgnoreprivate String updateUser;TableField(fill INSERT_UPDATE)JsonIgnoreprivate Date updateTime;TableLogicTableField(fill FieldFill.INSERT)JsonIgnoreprivate Integer isDel;
http://www.pierceye.com/news/119373/

相关文章:

  • 企业网站定制开发流程昌平区事业单位公共知识培训网站
  • 张店网站制作设计公司自己做视频网站怎么让加载速度变快
  • 杭州有哪些做网站的公司好大连seo网站
  • 做网站优化公司wordpress电子书插件
  • 可以接单做3d网站东莞app制作公司
  • 请详细说明网站开发流程及原则网站图片代码
  • 网页设计基础学什么seochan是什么意思
  • 汽车网站网页设计设计师网站推荐家装
  • 游戏交易网站怎么做wordpress 分词
  • 网站难做吗建设企业网站的需求
  • 网站开发设计文档模板wordpress5.2下载
  • 网站备案后要做什么wordpress 黑色
  • 池州建设机械网站中国房地产100强名单
  • 怎么在虚拟主机上建网站wordpress 更新feed
  • 内设网站wordpress 注册验证
  • 全景网站建设做米业的企业网站
  • 珠海哪个建设网站建设好ui网站界面设计
  • 中国有名的模版网站电商建设网站
  • 网站改域名合肥网站建设企业
  • 建网站需要软件c 怎么做能让窗体访问网站
  • 呼家楼网站建设黄骅市官方网站
  • 空包网站分站怎么做手表网站哪个最好知乎
  • 手机商城建站系统网站建设有关建筑网站建设方案
  • 做网站需要具备的基础条件wordpress 修改后台
  • 网站做点击收费标准重庆建设工业集团
  • wordpress个人网站备案管理广州网站搭建费用
  • 英文网站建设的原因泰安房产信息网网签查询
  • 怎么将网站做成html如何寻找一批做网站的公司
  • 苏州网站建设孙峰南宁站建站时间
  • 海淀手机网站设计公司苏州建设工程有限公司