mybatis-plus调用自身的 selectById 方法报错:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You hav
·
1.报错信息:
1.1早上的报错信息:这个是我下午模拟上午的错误(已经通过1.2里面的错误信息找到错误原因了),让他产生错误信息,但是这个和上午产生的错误信息不一样了,上午的我不知道错误在哪,这个就知道错误在哪。
-------------------------------------------------------------------------------
Test set: com.atguigu.admin.Boot05WebAdminApplicationTests
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 5.736 s <<< FAILURE! - in com.atguigu.admin.Boot05WebAdminApplicationTests
testUserMapper Time elapsed: 0.754 s <<< ERROR!
org.springframework.jdbc.BadSqlGrammarException:
### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'phot4o' in 'field list'
### The error may exist in com/atguigu/admin/mapper/UserMapper.java (best guess)
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT id,name,password,date,phot4o FROM user WHERE id=?
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'phot4o' in 'field list'
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'phot4o' in 'field list'
at com.atguigu.admin.Boot05WebAdminApplicationTests.testUserMapper(Boot05WebAdminApplicationTests.java:30)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'phot4o' in 'field list'
at com.atguigu.admin.Boot05WebAdminApplicationTests.testUserMapper(Boot05WebAdminApplicationTests.java:30)
1.2下午的报错信息:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'blob FROM user' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_181]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_181]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_181]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_181]
2.错误原因:
user 类里面的属性列名和数据库里面的不一样:
数据库中的是:photo
user类中的是:blob
3.解决办法:
把类中的字段名改成数据库中对应的就好了。
4.最后的话:
今天这个错误我找了好久,其他什么都去改一遍,还是没有什么用。
其实这个错误是在报错信息里面有的,但是我看了半天没有找到。我一直以为是user类中缺少@TableName和@TableId注解(新版不用也可以了),但是上午加了这两个注解也没有用。
我的user类:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)