MyBatisPlus查询时报错,Unknow column ‘id‘ in ‘field list‘,怎么解决?

在使用MyBatisPlus的selectById()方法查询数据时,报出了一个错误:

java.sql.SQLSyntaxErrorException Create breakpoint Unknown column 'id'in 'field list'
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)~[mysql-connector-java-8.0.22.jar:8.0.22]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)~[mysql-connector-java-8.0.22.jar:8.0.22]

看了一下数据库表中也没有id这个字段,表对应的实体类也没有这个字段。

那这是什么原因呢?
原来是因为MyBatisPlus查询时,默认的主键就是id,如果我们数据库中的主键的名字不叫id的话,就会报上面的那个错误。

那怎么解决呢?也很简单。在MyBatisPlus的官方文档中,找到了下面这个注解:

image.png

MyBatisPlus默认,会去数据库中查找叫id的主键。我们需要使用@TableId这个注解,给MyBatisPlus指个路,告诉它,这个才是主键:

@TableId("company_id")
private String companyId;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. MyBatisPlus概述 为什么要学习它呢?MyBatisPlus可以节省我们大量工作时间,所有的CRUD...
    弹钢琴的崽崽阅读 2,080评论 0 3
  • 一、MyBatis-Plus 简介 MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 M...
    Zerek_W阅读 269评论 0 0
  • MyBatisPlus概述 需要的基础:把我的MyBatis,Spring, SpringMVC就可以学习这个了!...
    Raral阅读 706评论 0 4
  • MyBatisPlus MyBatisPlus简称mp,是mybatis的增强工具,在mybatis的基础上只做增...
    幻如常阅读 519评论 0 0
  • 前言: mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中通过...
    久迷_138a阅读 503评论 0 1