日期加流水号的生成
整数转字符串自动补前缀0
public static String frontCompWithZore(int formatLength,int formatNumber) {
/**
* 0 指前面补充零
* formatLength 字符总长度为 formatLength
* inputNumber 格式化数字
* d 代表为正数。
*/
String newString = String.format("%0" + formatLength + "d", formatNumber);
return newString;
}
时间转字符串
/**
* new Date() 获取当前时间
* SimpleDateFormat格式为yyyymmdd,即年月日
* format将时间转换为字符串类型
* 时分秒为:hhmmss
*/
public String getString() {
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
String fileCode = simpleDateFormat.format(date);
return fileCode;
}
举例:一个字段体现下单时间和单量
public static int LSH_XQTB ;
public static String dateBuild=null;
/**
* LSH_XQTB 静态变量,记录单量
* dateBuild记录时间字符串
*/
public Result<Test> saveSubmit( Test test, HttpServletRequest req) {
Result<Test> result = new Result<Test>();
//时间为空,表示第一次使用,将记录改为1,为某天第一单
try{
if(dateBuild==null){
LSH_XQTB=1;
}
//判断是否是同一天,如果为同一天,单量加1,如果不为同一天,则此单为第一单
if(getString().equals(dateBuild)){
LSH_XQTB++;
}else{
LSH_XQTB=1;
}
String aa=frontCompWithZore(5,LSH_XQTB);//数字前缀自动补0
String id="YYXQ"+ getString()+aa ;
dateBuild=getString();
//拼接字符串
String wlbm="YJXQ"+getString()+aa;
//插入数据库,流水号生成
test.setId(id);
Boolean q=test.saveOrUpdate(emergencyNeeds);
result.setSuccess(q);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
总结,此记录加一必须在服务中启动,不然,该数字不会自动增长