要求:生成一个5位数编号 左边不足用0补齐,这个编号不能重复 ,客户可以手动输入编号 ,所有的编号都不能有4这个数字
以前做项目的时候,生成序列号嘛
一是使用UUID
二是利用数据库序列
三是用数据库总条数+1
UUID不和题意,不考虑 MySQL没有序列 需要建表,先放一放
总条数+1 似乎还不错 但是 客户手动输入的编号越多 越容易重复 ,容量也越小
之前的新司机 在java代码用10W次循环 拼接 00000 - 99999 个数字 ,每一次都检查一下数据库有没有重复
public static String doGenerateMemberCode() {
String memberCode = "";
for (int i = 0; i < 100000; i++) {
int sum = i;
String memberCode2 = "";
String memberCode3 = "";
while (true) {
sum++;
memberCode2 = "" + sum;
if (RegularExpressionUtil.checkMemberCodeUnlimited(memberCode2)) {
break;
}
}
for (int z = memberCode2.length(); z < 5; z++) {
memberCode3 = "0" + memberCode3;
}
memberCode = memberCode