信创国产化要怎样推动信息技术的自主创新与发展
3267
2022-11-17
Mybatis Plus使用@TableId之坑及解决
目录Mybatis Plus使用@TabRpAOZxSKuleId之坑1. TableId 可选类型2. @TableId(value = “id”,type= IdType.AUTO)3. @TableId(value RpAOZxSKu= “id”,type= IdType.ID_WORKER)Mybatis Plus TableId无效
Mybatis Plus使用@Tabhttp://leId之坑
1. TableId 可选类型
不添加注解时,默认使用ID_WORKER(3)
public enum IdType {
/**
* 数据库ID自增
*/
AUTO(0),
/**
* 该类型为未设置主键类型(将跟随全局)
*/
NONE(1),
/RpAOZxSKu**
* 用户输入ID
*
该类型可以通过自己注册自动填充插件进行填充
*/
INPUT(2),
/* 以下3种类型、只有当插入对象ID 为空,才自动填充。 */
/**
* 全局唯一ID (idWorker)
*/
ID_WORKER(3),
/**
* 全局唯一ID (UUID)
*/
UUID(4),
/**
*/
ID_WORKER_STR(5);
}
2. @TableId(value = “id”,type= IdType.AUTO)
使用条件:
id 类型可以是Interger/Long;
数据库主键id,mysql必须设置自增主键,postgreSQL必须设置自增序列,才能够使用此注解。
3. @TableId(value = “id”,type= IdType.ID_WORKER)
使用条件:
id 类型必须是Long;
因为ID_WORKER 生成的snowflakeId 是19位的全局id。
Mybatis Plus TableId无效
初次使用mybatisplus,刚开始正常,后来发现插入时总是duplicate key,百事不得其解,后发现问题如下
@TableId(type = IdType.ID_WORKER)
private Long id; # 正确
private long id; # 错误
private int id; # 错误
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~