【Java】编码中使用String.format()前缀自动自动填充,理清思路,少掉坑。

【Java】编码中使用String.format()前缀自动自动填充,理清思路,少掉坑。,第1张

【Java】编码中使用String.format()前缀自动自动填充,理清思路,少掉坑。

最近碰见了一个需求,我觉得在这里有必要和大家们分享一下:
需要一个13位编码,初始为0000000000001,增加需求+1为0000000000002。
在这里自己就陷入自己的牛角尖中,总是想着数据库如何存储这样的编码呢。
首先,13位要用bigint数据,不够前缀要填充零,在数据中设置当然可以实现,可是使用mybatis时,实体类设置成Long还是String呢?

如果Long那么前缀的零会自动消失,想要的功能不能实现。
如果是String类型不能数据绑定,这是会想用 标签进行数据映射处理,可是使用mybatis-plus呢,写个增删改查就要写一个映射会不会太麻烦了,写的多了自己就麻木了。
最终,跳出自己的牛角尖,为什么要在数据库中增加一个额外的字段呢,为什么不能用id字段来进行代替呢,只需要让id设置为自动递增,以及bigint类型即可,而我们进行数据处理时,在查出的数据上,进行一个封装,让其转化成13位的字符串即可。

代码:
String result = String.format("%013d",Long.valueOf("123456789")+1);

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5437713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存