java生成一定12位递增的流水号
项目需求中有时需要生成一定规则递增编号。例如系统中唯一订单号组成规则可能是:机构代码+时间+12位编号。例如:000000120221115000000000001/000000120221115000000000002之类的,如何处理12位编码递增呢?
实现方法:初始一个01的订单号,然后去数据库中查询当天订单号中最大的值,截取12位编号并转换成int型,在转换后的整形数上+1并返回。该方法可能效率不够高。
1 public static String getNewEquipmentNo(String type,String no){ 2 String newEquipmentNo = type + "0000000000000001"; 3 4 if(no != null && !no.isEmpty()){ 5 int newNo = Integer.parseInt(no); 6 int newEquipment = ++newNo; 7 newEquipmentNo = String.format(type + "%012d", newEquipment); 8 } 9 return newEquipmentNo; 10 }