在设计表结构的过程中,有的时候不太愿意用sql的语法来创建表结构,而是在navicat中直接用新建的方式来创建表结构,但是发现在 Navicat 15 for PostgreSQL中,并没有设置主键自增的选项,那么怎么解决呢?
与传统的MySQL+MyBatis不同的是,想要在MyBatisPlus配合PGSQL实现主键自增,需要进行两方面的配合:
1.在实体类定义上
根据@TableId中的type=IdType.AUTO进行设置,将此变量设为主键,并且设置对应的主键自增。参考代码如下:
public class Users extends BaseDomain{ //主键,TableId注解的作用是指明主键,并且设置对应的主键自增 @TableId(value = "user_id",type = IdType.AUTO) private Integer userId; }
2.在表定义上
首先我们创建一个用户表:
CREATE TABLE "public"."user" ( "id" int4 NOT NULL, "name" varchar(50) COLLATE "pg_catalog"."default", CONSTRAINT "user_pkey" PRIMARY KEY ("id") ) ;
然后新建查询,创建一个序列:
CREATE SEQUENCE user_id_seq START 1;
然后再在字段默认值中设置nextval('user_id_seq')
nextval('user_id_seq')
此时就完成了主键自增的设置。