Mybatis Plus的@TableId注解的使用

这个注释主要用于对应数据库表的实体类中的主键属性。

写法:@TableId(value=“数据库主键字段”,type = IdType.六种类型之一)
例如:@TableId(value=“user_id”,type = IdType.AUTO )

1、注解中type的值的含义

    //IdType.ID_WORKER_STR 默认的;底层使用了雪花算法;类型为Integer
    //IdType.AUTO 数据库自增;数据库上也要勾上自增
    //IdType.NONE 没有设置主键类型;跟随全局;全局的主键策略如果没有设置,默认是雪花算法
    //IdType.INPUT 手动输入;必须手动输入,数据库自增也没用;
    //IdType.UUID 全局唯一id;无序;字符串;
    //ID_WORKER_STR 全局唯一(idWorker的字符串表示);

2,全局主键策略实现

需要在application.yml文件中添加

mybatis-plus:
  mapper-locations:
    - com/mp/mapper/*
  global-config:
    db-config:
      id-type: uuid/none/input/id_worker/id_worker_str/auto   表示全局主键都采用该策略(如果全局策略和局部策略都有设置,局部策略优先级高)

3、Mybatis-plus自动生成mysql的UUId

/**
	 * ID
	 */
	@TableId(type = IdType.UUID)
	private String id;

注意:

1.修改entity的代码如上,生成getter and setter

2.修改数据库的数据类型为varchar(36)

这样就可以使用UUID了。

posted @ 2021-01-05 16:42  东老讨  阅读(6402)  评论(0编辑  收藏  举报