mybatis-plus主键策略生成失败的解决

问题:

主键生成失败,一直为0(int类型默认为0),

实体类:使用雪花算法+UUID生成主键策略

@Data
public class User {
 @TableId(value = "id",type= IdType.ASSIGN_UUID)
 private int id;
 private String name;
 private int age;
 private String email;
}

数据库:

测试代码:

@Test
void insertTest(){
 User user=new User();
 user.setName("L");
 user.setAge(18);
 user.setEmail("5200314@qq.com");
 int res = userMapper.insert(user);
 System.out.println(res);
 System.out.println(user);

}

分析:

突然想到之前学习“雪花算法”时,雪花算法为64位长整型,而我的id类型位int,所以可能导致生成失败;

将id改为long型后再次测试,又发生错误,说类型不匹配:

在这里插入图片描述

大概看了一下,id主键含有字母,然后有想起了UUID为字符串…

解决:

将id类型改为Long,主键策略改为ASSIGN_ID(雪花算法),测试成功!

作者:只钟意你原文地址:https://blog.csdn.net/qq_45302623/article/details/112453704

%s 个评论

要回复文章请先登录注册