MyBatis-plus 无法获取自增 id 的处理方法(从DB字段设计层面解决问题)

产生情景:

  ① DB层面:

    login表字段设置:login_id,nickname,password,user_id

    user 表字段设置:user_id,realname,sex

  ② 代码层面:

    严格遵循格式设定,并在完成持久化以后从数据库里发现有自增 id;

    随后使用 mybatis-plus 的 各种查询方法,返回的 user 型数据中 user_id 那里为null,返回的 login 型数据中 login_id 与 user_id 也是 null,尽管在数据库中 user_id 与 login_id 均存在

 

解决方法:

  ① 在使用 mybatis-plus 时,每张表的主键 id,只能命名为 "id" 并设为主键

  ② 这张表中存着的其他表 id 不要写成 xxxx_id ,而是写成 xxxxid,即 “不要有下划线”

  ③ 修改后的 DB 如下:

    login表字段设置:id,nickname,password,userid

    user 表字段设置:id,realname,sex

  ④ 在实体类那里做如下书写,以 user 表为例,注意注解:

    @TableName 这个要写此实体类对应的表名

    @TableId(value = "数据库id,好像只能写id",type = IdType.AUTO 这是设置为 id 自动生成)

    @TableField(“数据库内对应字段”)

    

 

 

以上就是在 mybatis-plus 使用过程中遇到的一些坑

posted @ 2023-02-18 12:17  NO-PATS  阅读(854)  评论(0编辑  收藏  举报