你需要根据实际情况调整测试代码。 另外,由于System.currentTimeMillis()生成的ID可能不是唯一的(尤其是在并发情况下),因此在实际应用中,你可能需要使用更可靠的ID生成方法,如雪花算法(Snowflake)等。 通过上述步骤,你可以在MyBatis-Plus中手动生成并使用ID。
mybatis-plus.global-config.worker-id: ${random.int(1,31)} 1. 2. 这个时候我们先看一下我们设置参数有没有生效,为了比较明显看到效果,我们直接设置worker-id为一个固定值20,再断点看一下,我们找到com.baomidou.mybatisplus.core.toolkit.IdWorker这个核心类,获取id的核心方法是com.baomidou.mybatisplus.core...
Long ID=IdWorker.getId(entity);
INPUT: 需要手动设置值 UUID:生成UUID类型的主键id ID_WORKER:生成19位的值,数字类型 ID_WORKer_STR:生成19位的值,字符串类型 关于mp的这个19位值的生成,可以做个了解,利用了snowflake算法。 snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。 其核心思想是:使用41bit作为毫秒数,10bit作为机器的...
INPUT: 需要手动设置值 UUID:生成UUID类型的主键id ID_WORKER:生成19位的值,数字类型 ID_WORKer_STR:生成19位的值,字符串类型 关于mp的这个19位值的生成,可以做个了解,利用了snowflake算法。 snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。
NONE:未设置,需要手动设置值 INPUT: 需要手动设置值 UUID:生成UUID类型的主键id ID_WORKER:生成19位的值,数字类型 ID_WORKER_STR:生成19位的值,字符串类型 关于mp的这个19位值的生成,可以做个了解,利用了snowflake算法。 snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。
这种ID生成策略,需要将表的自增策略删除掉,然后手动设置ID值 void userSave(){User user = new User();//设置主键ID的值user.setId(123456L);//为其他属性赋值...userDao.insert(user);} ASSIGN_ID 采用该策略时,如果用户自己设置ID,MP会使用用户设置的ID,如果用户不自己设置ID值,那么MP会根据雪花算法自...
步骤1:设置生成策略为AUTO @Data@TableName("tbl_user")publicclassUser{@TableId(type = IdType.AUTO)privateLong id;privateString name;@TableField(value="pwd",select=false)privateString password;privateInteger age;privateString tel;@TableField(exist=false)privateInteger online; ...
publicenumIdType{AUTO(0),// 数据库id自增NONE(1),// 库中未设置主键INPUT(2),// 手动输入ID_WORKER(3),// 默认的全局唯一idUUID(4),// 全局唯一id uuidID_WORKER_STR(5);//ID_WORKER 字符串表示法} 注意:如果我们指定了某种id生成类型,别的类型操作就没有用了,如这里设置其为自增型,那么就算...