java流水号_Java生成流水号
上一个项目中,需要生成一个流水账号作为数据表主键,完成后,觉得还可以,不敢独享,遂贴出以供拍砖。
流水号格式为yyyyMMddXXXX,规定每天只能到9999,代码如下:
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class PrimaryGenerater {
private static final String SERIAL_NUMBER = "XXXX"; // 流水号格式
private static PrimaryGenerater primaryGenerater = null;
private PrimaryGenerater() {
}
/**
* 取得PrimaryGenerater的单例实现
*
* @return
*/
public static PrimaryGenerater getInstance() {
if (primaryGenerater == null) {
synchronized (PrimaryGenerater.class) {
if (primaryGenerater == null) {
primaryGenerater = new PrimaryGenerater();
}
}
}
return primaryGenerater;
}
/**
* 生成下一个编号
*/
public synchronized String generaterNextNumber(String sno) {
String id = null;
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
if (sno == null) {
id = formatter.format(date) + "0001";
} else {
int count = SERIAL_NUMBER.length();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < count; i++) {
sb.append("0");
}
DecimalFormat df = new DecimalFormat("0000");
id = formatter.format(date)
+ df.format(1 + Integer.parseInt(sno.substring(8, 12)));
}
return id;
}
}
java流水号_Java生成流水号相关推荐
- java oracle 流水号_Oracle生成流水号函数
一.参考 1:日期范围上 smalldatetime的有效时间范围1900/1/1~2079/6/6 datetime的有效时间范围1753/1/1~9999/12/31 2:精准度上 smallda ...
- 帮我用Java写一个生成流水号的方法
我可以给你提供一个使用Java来生成流水号的简单方法: 使用java.util.UUID类来生成一个唯一的字符串: 使用java.time.LocalDateTime类来获取当前的日期和时间: 将上述 ...
- java 姓名_Java生成随机姓名、性别和年龄的实现示例
一.定义实体类Person,封装生成的数据 package net.dc.test; public class Person { private String name; private String ...
- java 草稿_JAVA生成一张草稿
/** * * ClassName: PrimaryUtils * @Description: 生成ID工具类 * [@author](https://my.oschina.net/arthor) _ ...
- java生成流水号001_可变数据如何批量生成?
原标题:可变数据如何批量生成? 常见的可变数据批量生成有两种:"流水号数据的批量生成"和"连接数据库文件的数据生成".流水号数据就是类似001-002-003- ...
- 根据时间戳生成编号_使用雪花算法生成流水号!
前言"在分布式系统中常见的问题就是如何生成流水号,一般情况下会有专门的流水号系统,不过在开发过程中或者开发早期不一定会有专门流水号系统,在这里介绍下我所使用的流水号生成器--雪花算法&quo ...
- 用SerialNumber生成流水号
在很多程序的应用中,有许多的地方会用到流水号,我写了个专门用来生成流水号的类 使用: SerialNumber sn=new SerialNumber(); sn.getSerialNum(table ...
- 使用redis生成流水号
转载请标明出处: 使用redis生成流水号_付付讶的博客-CSDN博客 本文出自使用redis生成流水号_付付讶的博客-CSDN博客 公司需求:生成14位时间+redis流水3位+"-&qu ...
- 简单介绍订单号或者流水号的生成方法
一般订单号或者流水号等可能在一些平台会用到,然后我就简单的介绍一个我自己生成订单号和流水号的一个方法吧,如果程序有问题或者你有更好的生成办法,欢迎留言,留下你的文章链接,我们一起学习和进步哈. 方法简 ...
- 如何使用redis生成流水号
概述 本文讲述如何使用redis生成流水号.本文是在Springboot中实现的.知道原理之后其他框架也可以轻松实现. 原理介绍 本文主要是使用redis的incr方法进行自增补零.然后结合时间.随机 ...
最新文章
- php正则如何使用 1,请问正则里面的值${1}怎么使用函数处理?怎么个写法?
- TCPIP,Http,Socket的区别
- 申请域名的理由_申请网站名称和域名注册为商标的重要性增加了吗?原因?
- backend system available odata service detection
- 抽象 java 1614868764
- 基于WF设计业务流程平台_权限在流程模板外部映射
- 小程序模板-评分星星
- mysql存储登录密码_用户身份验证:存储用户ID和密码在一个MySQL数据库
- python slicer_报表筛选:Excel Slicer与SQL Server Reporting Services(SSRS)参数
- 华为p10点击六下android,要被口水喷到死机的华为P10 你用的怎么样
- 哈尔滨工业大学计算机科学与技术学院许博文,王轩-哈尔滨工业大学(深圳)计算机科学与技术学院...
- 阮一峰mysql_阮一峰:理解矩阵乘法
- PolyLaneNet:基于深度多项式回归的车道估计(PolyLaneNet: Lane Estimation via Deep Polynomial Regression)
- Mybatis 01
- 【考研数学】数一-数学概念anki卡片合集-547张-23000字-22电子科大考研上岸整理
- 天原笔记(5) 天气形势及天气要素的预报
- 递归序列化错误:Recursive Serialization is not supported. You can‘t dereference a PPtr while loading.
- 【SSH框架/国际物流商综平台】-01-分三期(仓储管理,货运全流程管理,决策分析)- 项目背景 界面原型 用例图 企业组织结构 功能模块图 系统框架 项目表单收集
- 创新与服务紧贴“本土化”,Galaxy S9|S9+不愧为三星诚意之作
- 游戏数据分析常用指标汇总