在一些简单的业务中可能需要一些ID.这些ID是使用java代码实现的并不是通过数据库的自增实现的.下面是我写的一个简单的ID工具类,在使用的过程中你需要将最后一次的编号保存下来,你可以建一张表来维护这个自增的ID

这个自增的ID生成是线程安全的,而且在一定线程竞争不是很激烈的情况下比synchronized的效率高其中count是一个类的成员变量,通过使用count.incrementAndGet()的方法实现ID自增操做,这个操做是一个原子操做所以这个ID生成是线程安全的.底层是通过CAS实现的.

private static AtomicInteger count = new AtomicInteger();

/**

* 传入相应的前缀生成自增的ID

*

* @param end 上一次结束的ID编号

* @param groupID 字符串

* @param s 传入前缀

* @return 生成自增的ID

*/

public static String getQualityNum(String s, String groupID, int end) {

count.set(end);

count.incrementAndGet();

Integer i = count.get();

//获取当前的年

long nowTimeStamp = SKTools.getNowTimeStamp();

DateStringInfo dateStrByTimestamp = SKTools.getDateStrByTimestamp(nowTimeStamp);

String year = dateStrByTimestamp.getYear();

//将传入的前缀与项目部以及年拼接在以一起

String format = StrUtil.format("{}{}{}", s, groupID, year);

String strNum = StrUtil.format("{}", 100000 + i);

//将1截取下来得到剩余的

String substring = strNum.substring(1);

//进行拼接并返回

return StrUtil.format("{}{}", format, substring);

}

返回的结果

ZL29755296514049201800001

ZL29755296514049201800002

java代码实现id_使用java代码实现简单的ID自增的工具类相关推荐

  1. 使用java代码实现简单的ID自增的工具类

    在一些简单的业务中可能需要一些ID.这些ID是使用java代码实现的并不是通过数据库的自增实现的.下面是我写的一个简单的ID工具类,在使用的过程中你需要将最后一次的编号保存下来,你可以建一张表来维护这 ...

  2. Java使用ftl模板文件生成Word,以及Word转换图片或Pdf工具类

    Java使用ftl模板文件生成Word 一.写在前面 最近在项目中使用打印功能,发现这个功能我已经写过多次了,下面这个文章的发步日期在2020年,不得不感慨时间之快啊. https://blog.cs ...

  3. java 数字翻译成英文_Java实现将数字日期翻译成英文单词的工具类实例

    本文实例讲述了Java实现将数字日期翻译成英文单词的工具类.分享给大家供大家参考,具体如下: package com.sunyard.etp.ag.util; import java.math.Big ...

  4. Java之~ 上传 图片压缩,阿里图片压缩,图片旋转方法工具类

    需要的jar jai_codec-1.1.3.jar,jai_core-1.1.3.jar,simpleimage-1.2.0.jar,metadata-extractor-2.3.1.jar(旋转时 ...

  5. Java OFD文件转换,OFD转PDF、图片、SVG、HTML工具类(2.0.0版本之前)

    OFDRW提供了将OFD文档导出为其他格式文档的能力,如导出为图片.SVG.PDF.文本等. OFDRW 转换模块在 2.0.0 之后抽象了多种文档导出接口,使用统一的 API 实现 OFD 文档导出 ...

  6. 【java小程序实战】小程序短视频后台项目之MD5加密工具类

    对字符串进行简单加密,直接上代码: package com.imooc.utils;import org.apache.commons.codec.binary.Base64;import java. ...

  7. 面向对象语言(JAVA)——工具类(Collections(操作集合)代码实现理解)

    工具类,顾名思义就是Java中工具的类. Collections 类是 Java提供的一个操作 Set.List 和 Map 等集 合的工具类.Collections 类提供了许多操作集合的静态方 法 ...

  8. SAP ABAP里存在Java List这种集合工具类么?CL_OBJECT_COLLECTION了解一下

    Jerry以前在工作中交替做着ABAP和Java开发时,总是在使用一种语言时,怀念另一种语言的便利之处,比如用ABAP开发时,怀念Java里以List为代表的功能强大,使用方便的集合工具类. List ...

  9. Hutool Java常用工具类汇总

    简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的". Hu ...

最新文章

  1. 程序员感悟----路该怎么走
  2. Microsoft SQL Server 查询表中有重复列值的数据 (PARENTGOODSID列值重复的行)?
  3. 【洛谷 P1896】[SCOI2005]互不侵犯(状压dp)
  4. ASP.NET MVC Framework 系列
  5. Java面试题整理,连续四年百度Java岗必问面试题
  6. Nexus入门【转】
  7. 扑克牌图片一张一张_培养孩子的数学力,不妨试试这五个扑克牌游戏
  8. 【LightOJ - 1123】Trail Maintenance(在线维护最小生成树,删边思维)
  9. 层次分析法之python
  10. 用HTML,CSS和JavaScript创建iPhone/iPad应用程序
  11. 在 Domoticz 中添加插座开关
  12. 机器学习的开源工具-开源程序-研究工具
  13. 2021云上智能白皮书 附下载
  14. 智慧工厂管理平台建设,智慧工厂管理系统开发
  15. mysql省市联动_sql全国 省市 联动级联
  16. 谢辉吉林大学计算机学院,【大科·数院】佳绩频传,成果丰硕——第12届中国大学生计算机设计大赛吉大赛区数院学子成绩斐然...
  17. win7计算机怎么找管理员,win7管理员身份运行
  18. 凉宫春日的忧郁第二章
  19. 左与AOL合并 右牵手谷歌 雅虎对抗微软收购
  20. Xdebug中文文档-基础特性

热门文章

  1. 物流、快递自定义打印标签、自定义标签解决方案
  2. java读取网页内容,并保存
  3. 区间dp hdu5115 杀狼题目
  4. DIV内文字水平垂直居中
  5. SQL语法之SELECT INTO 语句
  6. dos自动关机 at命令及shutdown命令
  7. 三目运算的简单运用和理解
  8. 分享些我见到的听到的各种创业经历(有成功也有失败)——分析下创业成功要做到哪些
  9. 【编译打包】tengine 1.5.1 SRPM
  10. win10安装轻量级虚拟机(一)