在做springboot整合mybatis框架的时候,加了通用mapper(tk.mybatis),然后在接口类UserMapper继承了使用了BaseMapper
如图:
接着在方法中使用BaseMapper的插入方法 insertSelective 报错,报错信息为:
### SQL: INSERT INTO user ( id,username,password ) VALUES( ?,?,? )
### Cause: java.sql.SQLSyntaxErrorException: Table 'lings.user' doesn't exist
从错误信息可以看出,数据库lings里面没有user表,确实是没有的,我的User类映射的是t_user表,怎么能找到user表呢,但是
insertSelective 方法是封装好的了,没有定义表名会自动默认根据实体类名去获取表名,我的实体类是User,自然就跑去找user表了,user表不存在,插入数据肯定报错
那么要怎么解决呢,其实很简单,定位到实体类,使用@Table注解,定义实体类对应的表名,这样就不会找不到了