java生成自增編號數(shù)字的問題
java生成自增編號數(shù)字
最近有業(yè)務(wù)需求,編號自增。
1、查詢數(shù)據(jù)最大編號,該字段為字符串
SELECT max(no_value+0) FROM `jm_xx`
2、編號+1,遞增后按格式補齊
public String getOldNum(){ ? ? ? ? String oldNum ="00000001"; ? ? ? ? String maxOldNum = jmDocMapper.findMaxOldNum(); ? ? ? ? if(null !=maxOldNum){ ? ? ? ? ? ? int i = Integer.parseInt(maxOldNum)+1; ? ? ? ? ? ? //%nd 輸出的整型寬度至少為n位,右對齊,%8d即寬度至少為8位,位數(shù)大于8則輸出實際位數(shù),0表示用0補齊 ? ? ? ? ? ? oldNum = String.format("%08d", i); ? ? ? ? } ? ? return oldNum; }
java生成一定規(guī)則遞增編號
項目需求中有時需要生成一定規(guī)則遞增編號。
例如生成設(shè)備編號:設(shè)備類型+五位編號(從1開始,不夠前補0),也就是SYXH000001/SYXH00002/SDOI00001類似這樣。
那么如何處理000001自增1變?yōu)?00002呢?
實現(xiàn)代碼:
package com.lyf.test; public class Test2 { ?? ? ?? ?/** ?? ? * 生成規(guī)則設(shè)備編號:設(shè)備類型+五位編號(從1開始,不夠前補0) ?? ? *? ?? ? * @param equipmentType ?? ? * ?? ??? ??? ??? ?設(shè)備類型 ?? ? * @param equipmentNo ?? ? * ?? ??? ??? ??? ?最新設(shè)備編號 ?? ? * @return ?? ? */ ?? ?public static String getNewEquipmentNo(String equipmentType, String equipmentNo){ ?? ??? ?String newEquipmentNo = equipmentType + "00001"; ?? ??? ? ?? ??? ?if(equipmentNo != null && !equipmentNo.isEmpty()){ ?? ??? ??? ?int no = Integer.parseInt(equipmentNo); ?? ??? ??? ?int newEquipment = ++no; ?? ??? ??? ?newEquipmentNo = String.format(equipmentType + "%05d", newEquipment); ?? ??? ?} ?? ??? ? ?? ??? ?return newEquipmentNo; ?? ?} ?? ?public static void main(String[] args) { ?? ??? ?String equipmentNo = Test2.getNewEquipmentNo("SYXH", "00032"); ?? ??? ?System.out.println("生成設(shè)備編號:" + equipmentNo); ?? ?} }
運行結(jié)果:
生成設(shè)備編號:SYXH00033
從上面代碼中可以看到,首先我們默認了一個初始設(shè)備編號,當傳入方法的最新設(shè)備編號為null或是空時將使用。
如果傳入了數(shù)據(jù)庫中最新設(shè)備編號,將首先使用Integer的parseInt()方法返回十進制整數(shù),這樣就可以對其自增1。
最后通過String的format()方法進行字符串格式化返回就可以了。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決報java.lang.AssertionError錯誤的問題
這篇文章主要介紹了解決報java.lang.AssertionError錯誤的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05Spring Data JPA 實現(xiàn)多表關(guān)聯(lián)查詢的示例代碼
多表查詢在spring data jpa中有兩種實現(xiàn)方式,第一種是利用hibernate的級聯(lián)查詢來實現(xiàn),第二種是創(chuàng)建一個結(jié)果集的接口來接收連表查詢后的結(jié)果,這里介紹第二種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07SpringBoot集成FTP文件服務(wù)器簡單應(yīng)用方式
這篇文章主要介紹了SpringBoot集成FTP文件服務(wù)器簡單應(yīng)用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07使用IDEA創(chuàng)建Java Web項目并部署訪問的圖文教程
本文通過圖文并茂的形式給大家介紹了使用IDEA創(chuàng)建Java Web項目并部署訪問的教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08SpringBoot多controller添加URL前綴的實現(xiàn)方法
這篇文章主要介紹了SpringBoot多controller添加URL前綴的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02