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查询报错解决的资料请关注脚本之家其它相关文章!
相关文章
Servlet编程第一步之从零构建Hello World应用详细步骤+图解
本文详细介绍了Servlet和maven的基本概念及其在JavaWeb开发中的应用,首先解释了Servlet是一个在服务器上处理请求的Java程序,然后介绍了maven作为管理和构建Java项目的工具,需要的朋友可以参考下2024-10-10logback ThresholdFilter临界值日志过滤器源码解读
这篇文章主要为大家介绍了logback ThresholdFilter临界值日志过滤器源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-11-11crawler4j抓取页面使用jsoup解析html时的解决方法
crawler4j对response没有指定编码的页面,解析成乱码,很让人烦恼,下面给出解决方法,需要的朋友可以参考下2014-04-04
最新评论