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能力,几分钟解决的事还去看什么框架源码呢?(这就是你不看源码面试答不上底层原理的理由?)

原文地址:https://www.cnblogs.com/qi-dev/p/13540781.html