Mybatis-puls中select查询方法报错Can not find table primary key in Class

1、项目参数

springboot 2.6.13

jdk8

Mybatis-Plus3.5.4

2、问题描述

Mybatis-puls中select查询方法报错Can not find table primary key in Class,

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.dao.FLowerDao.selectById

3、问题原因

表里有主键,但是报找不到主键,因为mybatis plus 里面自动匹配主键字段为id

当数据库中的主键不为id时会报出上述错误。

解决:

添加下面代码

@TableId(value = "flower_id",type = IdType.INPUT)

value:设置数据库字段值
type:设置主键类型、用户输入ID(该类型可以通过自己注册自动填充插件进行填充)建议使用INPUT

type有六种类型类型,最下面三个只有插入主键为空时,才会自动填充,可根据数据表主键类型自行选择合适的type类型

类型 解释
AUTO 数据库自增ID
NONE 数据库未设置主键类型(将会跟随全局)
INPUT 用户输入ID(该类型可以通过自己注册自动填充插件进行填充)
ID_WORKER 全局唯一ID(idWorker)
UUID 全局唯一ID(UUID)
ID_WORKER_STR 字符串全局唯一ID(idWorker 的字符串表示)
posted @ 2024-08-29 16:27  程序咖啡  阅读(166)  评论(0编辑  收藏  举报