请问springboot如何实现获取当前系统时间并加序号

比如

后端获取系统日期时间:20210331080808 

通过代码变成  ZZ+20210331080808+001

输入结果是 ZZ202010331080808001

需要进数据库进行判断是否有这条数据,有的话在原有的基础+1,判断不存在的话 就用ZZ202103310808001

写一个存储过程判断吧 每次拿最大的序列号 再加1,。或者自己查数据库 把最大的拿出来加1

看楼主应该是想要获取一个类似唯一字符串主键的需求,其实这个有更方便的,不一定要用时间,因为请求频率变高的时候,在一个时间点,很容易来多笔请求,可以用类似 uuid 的方式生成单机环境唯一,在通过 拼接 机器ip 生成集群唯一。按照你的需求我写段伪代码吧,仅作参考,实际应该是不适用的。

public class Test {
    public static void main(String[] args) {
        Test t = new Test();
        System.out.println(t.createUniqueNo());
    }

    public String createUniqueNo(){
        String pre = "ZZ";
        long time = new Date().getTime();
        int num = 1;
        boolean dbExist = true;
        String uniqueNo = "";
        while(dbExist){
            uniqueNo = pre + time+ num;
            dbExist = checkDBExist(uniqueNo);
            num ++ ;
        }
        return uniqueNo;
    }

    private boolean checkDBExist(String uniqueNo){
       //TODO 检查数据是否存在: true 存在; false 不存在

        return true;
    }
}

思路:

1、生成对应编号

2、生成的编号去数据库查询,使用count()函数来统计,count()函数返回的是int

3、返回值+1

4、最后使用String来拼接返回值