出现 Invalid bound statement (not found)
异常
不要怀疑,正视自己,这个异常肯定是你插入的姿势不对……
-
检查是不是引入 jar 冲突
-
检查 Mapper.java 的扫描路径
- 方法一:在
Configuration
类上使用注解MapperScan
@Configuration @MapperScan("com.yourpackage.*.mapper") public class YourConfigClass{ ... }
- 方法二:在
Configuration
类里面,配置MapperScannerConfigurer
(查看示例
- 方法一:在
-
@Bean public MapperScannerConfigurer mapperScannerConfigurer(){ MapperScannerConfigurer scannerConfigurer = new MapperScannerConfigurer(); //可以通过环境变量获取你的mapper路径,这样mapper扫描可以通过配置文件配置了 scannerConfigurer.setBasePackage("com.yourpackage.*.mapper"); return scannerConfigurer; }
-
检查是否指定了主键?如未指定,则会导致
selectById
相关 ID 无法操作,请用注解@TableId
注解表 ID 主键。当然@TableId
注解可以没有!但是你的主键必须叫 id(忽略大小写) -
SqlSessionFactory不要使用原生的,请使用MybatisSqlSessionFactory
-
检查是否自定义了SqlInjector,是否复写了getMethodList()方法,该方法里是否注入了你需要的方法(可参考DefaultSqlInjector)