springboot在MyBatis中使用Postgres生成随机数作为ID的多种方法

首先回答一个问题,如果把ID随机生成的方式放在后端代码里,是否更方便?

不过我这里考虑一个需求场景,假设我需要准备一个配置表的数据有很多,另外还需要配置一个中间表用于关联两个配置表的关系。如果配置表的主键是在后端生成的,那我不得不做一个导入数据的功能把配置表导入进去,涉及的前后端工作也会不少。

但如果是通过随机数生成,那我只需要插入其他值,主键ID由其默认值的函数生成就可以了。

方案一:通过oosp插件的方式生成uuid

缺点:生成的uuid过于随机,无法与生成时间顺序;对应的uuid类型在Java bean中不属于常见类型;对应查询的sql在不同的数据库中不通用

使用uuid-oosp

使用命令create extension "uuid-oosp"安装, 如下图:

成功安装之后,就可以使用类似sys_guid的函数uuid_generate_v4了,如下,

猜你喜欢

转载自blog.csdn.net/as4589sd/article/details/103642454
今日推荐