当前位置: 代码迷 >> 综合 >> MyBatisPlus查询时报错,Unknow column ‘id‘ in ‘field list‘,怎么解决?
  详细解决方案

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

热度:81   发布时间:2023-10-24 07:42:13.0

在使用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查询时报错,Unknow column ‘id‘ in ‘field list‘,怎么解决?
那这是什么原因呢?
原来是因为MyBatisPlus查询时,默认的主键就是id,如果我们数据库中的主键的名字不叫id的话,就会报上面的那个错误。
那怎么解决呢?也很简单。在MyBatisPlus的官方文档中,找到了下面这个注解:
MyBatisPlus查询时报错,Unknow column ‘id‘ in ‘field list‘,怎么解决?
MyBatisPlus默认,会去数据库中查找叫id的主键。我们需要使用@TableId这个注解,给MyBatisPlus指个路,告诉它,这个才是主键:

@TableId("company_id")
private String companyId;

喜欢本文的朋友不要忘记点一个免费的赞哦,你的赞将是我最大的动力。

  相关解决方案