MyBatisPlus查询报错Unknow column ‘id‘ in ‘field list‘解决分析
使用MyBatisPlus的selectById()方法查询数据报错
在使用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的官方文档中,找到了下面这个注解:
MyBatisPlus默认,会去数据库中查找叫id的主键。我们需要使用@TableId
这个注解,给MyBatisPlus指个路,告诉它,这个才是主键:
@TableId("company_id") private String companyId;
以上就是MyBatisPlus查询报错Unknow column ‘id‘ in ‘field list‘解决分析的详细内容,更多关于MyBatisPlus查询报错解决的资料请关注脚本之家其它相关文章!
相关文章
MAVEN_HOME、M2_HOME,maven环境变量设置方式
这篇文章主要介绍了MAVEN_HOME、M2_HOME,maven环境变量设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-07-07Springboot基于assembly的服务化打包方案及spring boot部署方式
这篇文章主要介绍了Springboot基于assembly的服务化打包方案及springboot项目的几种常见的部署方式,本文主要针对第二种部署方式提供一种更加友好的打包方案,需要的朋友可以参考下2017-12-12SpringSecurity使用PasswordEncoder加密用户密码的示例代码
PasswordEncoder是Spring Security库中的一个关键组件,它主要用于处理密码的安全存储和验证,本文将给大家介绍一下SpringSecurity使用PasswordEncoder加密用户密码的方法,需要的朋友可以参考下2024-09-09
最新评论