java生成自增编号数字的问题

 更新时间:2022年09月26日 11:39:29   作者:Haocaibo  
这篇文章主要介绍了java生成自增编号数字的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

java生成自增编号数字

最近有业务需求,编号自增。

1、查询数据最大编号,该字段为字符串

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位,位数大于8则输出实际位数,0表示用0补齐
            oldNum = String.format("%08d", i);
        }
    return oldNum;
}

java生成一定规则递增编号

项目需求中有时需要生成一定规则递增编号。

例如生成设备编号:设备类型+五位编号(从1开始,不够前补0),也就是SYXH000001/SYXH00002/SDOI00001类似这样。

那么如何处理000001自增1变为000002呢?

实现代码:

package com.lyf.test;
public class Test2 {
    
    /**
     * 生成规则设备编号:设备类型+五位编号(从1开始,不够前补0)
     * 
     * @param equipmentType
     *                 设备类型
     * @param equipmentNo
     *                 最新设备编号
     * @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("生成设备编号:" + equipmentNo);
    }
}

运行结果:

生成设备编号:SYXH00033

从上面代码中可以看到,首先我们默认了一个初始设备编号,当传入方法的最新设备编号为null或是空时将使用。

如果传入了数据库中最新设备编号,将首先使用Integer的parseInt()方法返回十进制整数,这样就可以对其自增1。

最后通过String的format()方法进行字符串格式化返回就可以了。 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • java 获取服务器真实IP的实例

    java 获取服务器真实IP的实例

    这篇文章主要介绍了java 获取服务器真实IP的实例的相关资料,这里提供实现方法帮助大家学习理解这部分内容,需要的朋友可以参考下
    2017-08-08
  • Java聊天室之实现使用Socket传递音频

    Java聊天室之实现使用Socket传递音频

    这篇文章主要为大家详细介绍了Java简易聊天室之使用Socket实现传递音频功能,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以了解一下
    2022-10-10
  • java获取鼠标在屏幕上坐标的方法

    java获取鼠标在屏幕上坐标的方法

    本文介绍的是如何用java获取鼠标在屏幕上的坐标,这个功能其实没什么难度可言,在这里分享给大家,是因为有时候我们需要这个工具,Java作为跨平台语言的优势在这个软件就可以体现出来,不需修改就可以在windows、mac、Linux上使用这个软件。下面来一起看看详细的介绍吧。
    2016-12-12
  • 解决报java.lang.AssertionError错误的问题

    解决报java.lang.AssertionError错误的问题

    这篇文章主要介绍了解决报java.lang.AssertionError错误的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Spring Data JPA 实现多表关联查询的示例代码

    Spring Data JPA 实现多表关联查询的示例代码

    多表查询在spring data jpa中有两种实现方式,第一种是利用hibernate的级联查询来实现,第二种是创建一个结果集的接口来接收连表查询后的结果,这里介绍第二种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • SpringBoot集成FTP文件服务器简单应用方式

    SpringBoot集成FTP文件服务器简单应用方式

    这篇文章主要介绍了SpringBoot集成FTP文件服务器简单应用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 使用IDEA创建Java Web项目并部署访问的图文教程

    使用IDEA创建Java Web项目并部署访问的图文教程

    本文通过图文并茂的形式给大家介绍了使用IDEA创建Java Web项目并部署访问的教程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • Java如何获取枚举类型的值

    Java如何获取枚举类型的值

    这篇文章主要介绍了Java如何获取枚举类型的值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • SpringBoot多controller添加URL前缀的实现方法

    SpringBoot多controller添加URL前缀的实现方法

    这篇文章主要介绍了SpringBoot多controller添加URL前缀的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • springboot接收别人上传的本地视频实例代码

    springboot接收别人上传的本地视频实例代码

    本文通过实例代码给大家介绍了springboot接收别人上传的本地视频,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-07-07

最新评论