項目中有一個規則編號字段,從1開始,編號長度為5位,那么第一條數據編號就是00001。
實現的基本思路就是項目啟動時,從數據庫獲取當前最大值,作為靜態變量存儲;
業務獲取新的編碼,考慮並發問題,獲取編碼方法(編碼自增部分)為synchronized同步方法,如果自增為原子操作,則無需同步;
編碼前置0,使用String.format("%05d", newNum);
格式化獲取。
實現代碼如下:
private final static AtomicInteger atomic = new AtomicInteger(0); public static String startFormat(String format) { return String.format(format, atomic.incrementAndGet()); }