java生成自增編號數(shù)字的問題
java生成自增編號數(shù)字
最近有業(yè)務(wù)需求,編號自增。
1、查詢數(shù)據(jù)最大編號,該字段為字符串
SELECT max(no_value+0) FROM `jm_xx`
2、編號+1,遞增后按格式補(bǔ)齊
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í)際位數(shù),0表示用0補(bǔ)齊 ? ? ? ? ? ? oldNum = String.format("%08d", i); ? ? ? ? } ? ? return oldNum; }
java生成一定規(guī)則遞增編號
項(xiàng)目需求中有時(shí)需要生成一定規(guī)則遞增編號。
例如生成設(shè)備編號:設(shè)備類型+五位編號(從1開始,不夠前補(bǔ)0),也就是SYXH000001/SYXH00002/SDOI00001類似這樣。
那么如何處理000001自增1變?yōu)?00002呢?
實(shí)現(xiàn)代碼:
package com.lyf.test; public class Test2 { ?? ? ?? ?/** ?? ? * 生成規(guī)則設(shè)備編號:設(shè)備類型+五位編號(從1開始,不夠前補(bǔ)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); ?? ?} }
運(yùn)行結(jié)果:
生成設(shè)備編號:SYXH00033
從上面代碼中可以看到,首先我們默認(rèn)了一個(gè)初始設(shè)備編號,當(dāng)傳入方法的最新設(shè)備編號為null或是空時(shí)將使用。
如果傳入了數(shù)據(jù)庫中最新設(shè)備編號,將首先使用Integer的parseInt()方法返回十進(jìn)制整數(shù),這樣就可以對其自增1。
最后通過String的format()方法進(jìn)行字符串格式化返回就可以了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java 獲取服務(wù)器真實(shí)IP的實(shí)例
這篇文章主要介紹了java 獲取服務(wù)器真實(shí)IP的實(shí)例的相關(guān)資料,這里提供實(shí)現(xiàn)方法幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下2017-08-08Java聊天室之實(shí)現(xiàn)使用Socket傳遞音頻
這篇文章主要為大家詳細(xì)介紹了Java簡易聊天室之使用Socket實(shí)現(xiàn)傳遞音頻功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下2022-10-10解決報(bào)java.lang.AssertionError錯(cuò)誤的問題
這篇文章主要介紹了解決報(bào)java.lang.AssertionError錯(cuò)誤的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05Spring Data JPA 實(shí)現(xiàn)多表關(guān)聯(lián)查詢的示例代碼
多表查詢在spring data jpa中有兩種實(shí)現(xiàn)方式,第一種是利用hibernate的級聯(lián)查詢來實(shí)現(xiàn),第二種是創(chuàng)建一個(gè)結(jié)果集的接口來接收連表查詢后的結(jié)果,這里介紹第二種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07SpringBoot集成FTP文件服務(wù)器簡單應(yīng)用方式
這篇文章主要介紹了SpringBoot集成FTP文件服務(wù)器簡單應(yīng)用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07使用IDEA創(chuàng)建Java Web項(xiàng)目并部署訪問的圖文教程
本文通過圖文并茂的形式給大家介紹了使用IDEA創(chuàng)建Java Web項(xiàng)目并部署訪問的教程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08SpringBoot多controller添加URL前綴的實(shí)現(xiàn)方法
這篇文章主要介紹了SpringBoot多controller添加URL前綴的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02springboot接收別人上傳的本地視頻實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了springboot接收別人上傳的本地視頻,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-07-07