mybatis-自动生成32位id跟踪

刚入职这个公司不久,数据库操作框架使用的mybatis-plus。发现数据库里面的id都是32位的,在excel批量导入数据的时候,自动生成id居然会duplicate key。我也不知道公司的框架里面id是怎么生成的。也没有看过mybatis源码。所以决定直接debug看自动id生成的策略。

一路debug,不知道走了多少个proxy,终于找到mybatis的insert入口:

 

 

 

然后又是一路debug,终于找到mybatis的参数生成器:

 

 

属性实在太多,断点加上判断条件,只看id属性:

 

 

 

最终找到mybatis的Idworker:

 

 

 

发现就是java的UUID生成....

 

 

呵呵,不得不佩服我的debug能力,几分钟解决的事还去看什么框架源码呢?(这就是你不看源码面试答不上底层原理的理由?)

posted @ 2020-08-21 14:17  粤港澳工具人码农  阅读(498)  评论(0编辑  收藏  举报