数据库主键按照固定前缀生成工具类

复制代码
package com.sc.util;

public class TableIdGenerator {

    /**
     * str必填,形如SUA0000046
     * beginIndex必填,从英文字符开始的位数,例如SUA0000046,就是从3开始
     * @param str
     * @param beginIndex
     * @return
     */
     public static String generatorId(String str,int beginIndex) {
        String leftStr=str.substring(0,beginIndex);//前半部分英文字符
        String rigthtStr=str.substring(beginIndex);//后半部分数字字符
        int len=rigthtStr.length();//数字总位数
        int rightInt=Integer.parseInt(rigthtStr)+1;
        String s=rightInt+"";
        int len1=s.length();
        
        
        if(len>len1){
            int i=len-len1;
            for (int j = 0; j < i; j++) {
                leftStr+="0";
            }
            leftStr+=rightInt;
        }else{
            leftStr+=rightInt;
        }
        return leftStr;
        
     }
     
     public static void main(String[] args) {
        String s= TableIdGenerator.generatorId("RW_0009", 3);
        System.out.println(s);
    }
    
}
复制代码

 

posted @   沧海一粟hr  阅读(548)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示