设计唯一的编号(自增长)

本文介绍了如何设计唯一的编号,特别是对于带有特定格式(如KG001)的需求。首先,解释了递归算法的概念,然后通过案例展示了如何利用数据库自增长功能。在案例分析中,提出了三个问题:自增长ID为整数、位数不固定以及自增长清零后的冲突。最后,提供了两个解决方案:通过代码和数据库字段配合处理第一个问题,使用位数补全方法解决第二个问题,以及利用递归解决清除自增长后的冲突问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、有关概念的介绍

1、递归算法,就是直接或间接调用自身的函数,也就是把一个大的复杂的问题层层转换为一个小的和原问题相似的问题来求解的这样一种策略。

2、数据库自增长:

二、案例

上面解释可能有点太官方了, 我们直接拍案例 

为登录进来的分配一个唯一的编号(要求:生成用户的带字母的编号比如:KG001,KG002)

三、案例分析

编号可以设计为数据库的自增长来完成,但是这里面有二个问题需要解决

1)、要求生成KG001,但是数据库的自增长是int

2)、自增长生成的id,是没有格式化必须 1,11,111生成的id,位数不保证相同 

3)、如果出现自增长清1 truncate sw_client_id,那么如何来避免已经生成的客户的id。

四、解决方案 

1)、第一个问题,需要用代码和数据库自增长配合使用 ,需要一个专门的字段来解决此问题。

2)、那么我们来解决第二个问题:只需要一个,按位置补齐的方法即可:

 

 /**
 *
 * 格式化数字
 * **/
   public static String Decimalformat(String string){

   try {
      int number = Integer.parseInt(string);
      DecimalFormat df = new 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上分享

创作不易,感谢各位看官

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值