java代码实现id_使用java代码实现简单的ID自增的工具类
在一些简单的业务中可能需要一些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自增的工具类相关推荐
- 使用java代码实现简单的ID自增的工具类
在一些简单的业务中可能需要一些ID.这些ID是使用java代码实现的并不是通过数据库的自增实现的.下面是我写的一个简单的ID工具类,在使用的过程中你需要将最后一次的编号保存下来,你可以建一张表来维护这 ...
- Java使用ftl模板文件生成Word,以及Word转换图片或Pdf工具类
Java使用ftl模板文件生成Word 一.写在前面 最近在项目中使用打印功能,发现这个功能我已经写过多次了,下面这个文章的发步日期在2020年,不得不感慨时间之快啊. https://blog.cs ...
- java 数字翻译成英文_Java实现将数字日期翻译成英文单词的工具类实例
本文实例讲述了Java实现将数字日期翻译成英文单词的工具类.分享给大家供大家参考,具体如下: package com.sunyard.etp.ag.util; import java.math.Big ...
- 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(旋转时 ...
- Java OFD文件转换,OFD转PDF、图片、SVG、HTML工具类(2.0.0版本之前)
OFDRW提供了将OFD文档导出为其他格式文档的能力,如导出为图片.SVG.PDF.文本等. OFDRW 转换模块在 2.0.0 之后抽象了多种文档导出接口,使用统一的 API 实现 OFD 文档导出 ...
- 【java小程序实战】小程序短视频后台项目之MD5加密工具类
对字符串进行简单加密,直接上代码: package com.imooc.utils;import org.apache.commons.codec.binary.Base64;import java. ...
- 面向对象语言(JAVA)——工具类(Collections(操作集合)代码实现理解)
工具类,顾名思义就是Java中工具的类. Collections 类是 Java提供的一个操作 Set.List 和 Map 等集 合的工具类.Collections 类提供了许多操作集合的静态方 法 ...
- SAP ABAP里存在Java List这种集合工具类么?CL_OBJECT_COLLECTION了解一下
Jerry以前在工作中交替做着ABAP和Java开发时,总是在使用一种语言时,怀念另一种语言的便利之处,比如用ABAP开发时,怀念Java里以List为代表的功能强大,使用方便的集合工具类. List ...
- Hutool Java常用工具类汇总
简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的". Hu ...
最新文章
- 程序员感悟----路该怎么走
- Microsoft SQL Server 查询表中有重复列值的数据 (PARENTGOODSID列值重复的行)?
- 【洛谷 P1896】[SCOI2005]互不侵犯(状压dp)
- ASP.NET MVC Framework 系列
- Java面试题整理,连续四年百度Java岗必问面试题
- Nexus入门【转】
- 扑克牌图片一张一张_培养孩子的数学力,不妨试试这五个扑克牌游戏
- 【LightOJ - 1123】Trail Maintenance(在线维护最小生成树,删边思维)
- 层次分析法之python
- 用HTML,CSS和JavaScript创建iPhone/iPad应用程序
- 在 Domoticz 中添加插座开关
- 机器学习的开源工具-开源程序-研究工具
- 2021云上智能白皮书 附下载
- 智慧工厂管理平台建设,智慧工厂管理系统开发
- mysql省市联动_sql全国 省市 联动级联
- 谢辉吉林大学计算机学院,【大科·数院】佳绩频传,成果丰硕——第12届中国大学生计算机设计大赛吉大赛区数院学子成绩斐然...
- win7计算机怎么找管理员,win7管理员身份运行
- 凉宫春日的忧郁第二章
- 左与AOL合并 右牵手谷歌 雅虎对抗微软收购
- Xdebug中文文档-基础特性