Mybatis Plus的@TableId标签

@TableId
1、如果数据库字段设成user_id
在初始生成后,在代码中会变成userId,不会设置成主键
使用**@TableId(value=“user_id”,type = IdType.AUTO)**注解

“value”:设置数据库字段值
“type”:设置主键类型、如果数据库主键设置了自增建议使用“AUTO”

type有六种类型类型,最下面三个只有插入主键为空时,才会自动填充

类型                            解释
AUTO                         数据库自增ID                                                类型可以是Interger/Long;
NONE                         数据库未设置主键类型(将会跟随全局)
INPUT                        用户自己输入ID
ID_WORKER             全局唯一ID                                                    类型必须是Long
UUID                          全局唯一ID                                                    类型是字符串
ID_WORKER_STR    idWorker 的字符串表示                                 类型是字符串

 

ID_WORKER 生成的snowflakeId 是19位的全局id

 

注意:

jeecg-boot框架的id默认是字符串类型

一、数据库id改成自增的长整型做id,则自动生成的增删改查接口要进行改造:

1、实体类改造:(AUTO的意思是数据库自动填充id,不用接口实现id保存)

/**id*/
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Long id;

2、接口类改造:

(1)、queryById和delete接口需要把参数类型改成Long

(2)、deleteBatch接口需要进行改造:

        String[] str=ids.split(",");
        Long [] arr = new Long [str.length];
        for(int i=0; i<str.length; i++) {
            arr[i] = Long.parseLong(str[i]);
        }
        this.dataWaterSiteHourService.removeByIds(Arrays.asList(arr));
        return Result.ok("批量删除成功!");

 二、数据库id改成自增的整型做id,改造:

1、实体类改造:

/**id*/
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private java.lang.Integer id;

2、接口类改造:

(1)、queryById和delete接口需要把参数类型改成Integer

(2)、deleteBatch接口需要进行改造:

        String[] str=ids.split(",");
        Integer [] arr = new Integer [str.length];
        for(int i=0; i<str.length; i++) {
            arr[i] = Integer.parseInt(str[i]);
        }

        this.settingService.removeByIds(Arrays.asList(ids.split(",")));
        return Result.ok("批量删除成功!");

 

数据库id的定义和自增创建方法见链接

posted @   JackGIS  阅读(637)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示