上一篇文章《Mybatis plus应用(一)实体类id自增》我们介绍了使用mybatis实现实体类的自增id,这种我们也提到过一般都是在ToB或ToG等某些个别业务上,在ToC方面,用户量是庞大的,所以这时候我们肯定是100%不能使用自增id,那一般我们采取什么策略呢,这里一般的话,都需要我们自己来生成对应的id,这时候就有两种做法:
第一种做法: 搭建一个全局的发号服务,所有的数据在进行新增的时候都远程调用下发号服务,获取一个全局的id。 这种做法一般适合大型业务系统,因为会涉及到分库分表等操作,所以要保持全局唯一,这时候有一个发号服务是必备的。 第二种做法: 自己使用雪花算法的框架,把生成工具放入项目里面,使用的时候调用一下即可。 这种做法一般适合一些中型或者中小型的业务系统。
这篇文章我们主要演示的是第二种做法,同时使用mybatis plus自带的自动生成雪花id来进行演示。我们还是在上文的源码上直接修改。
一、创建user表的时候,我们把主键id去掉,并且把id类型修改为bigint
二、修改User实体类
这里我们去掉@TableId(type = IdType.AUTO)这个注解,添加如下的注解:
@TableId(type = IdType.ASSIGN_ID)
这时候我们测试下,访问:http://127.0.0.1:8080/userAdd,然后看看数据库
可以看到自动的生成了雪花id。这里我们测试使用mybatis plus自动生成雪花id就完成了,在mybatis中,默认的id用法就是使用雪花id,所以这里其实我们不用配置也可以,例如:
这时候我们再测试一下
可以看到插入的数据也是雪花id。
还没有评论,来说两句吧...