一、问题描述
这个异常
二、原因分析
注意!!!
1. 在此之前请检查启动类的位置,以及启动类中是否添加注解@MapperScan(basePackages = {"mapper包路径"})
2. @Autowired 或 @Resource 注解是否存在
3. 其他未说明事项...
出现这个异常可能有以下几个原因:
-
绑定语句名称错误:请确保在 MyBatis 的映射文件(通常是 XML 文件)中存在名为
insertSelective 的绑定语句,并且该语句的命名空间为 (例如上述的FileMapper类路径) 。 -
映射文件未加载或配置错误:请检查 MyBatis 配置文件中是否正确加载了映射文件,并且映射文件的路径配置正确。
-
映射文件中未定义对应的绑定语句:请确保映射文件中存在名为
insertSelective 的绑定语句,并且它位于上述的FileMapper类路径 命名空间中。 -
绑定语句的参数类型错误:如果
insertSelective 绑定语句定义了参数类型,确保传入的参数类型与绑定语句中定义的参数类型匹配。
三、错误原因
在这里仅针对application.yml配置文件中的mybatis配置问题,发现项目中并未添加configuration相关配置。
四、解决方案
添加上configuration相关配置,进行测试
mybatis: configuration: map-underscore-to-camel-case: true use-generated-keys: true type-aliases-package: domain的包路径 mapper-locations: classpath:mapper/*.xml
检查以上几点后应该能够解决这个异常。如果仍然无法解决,欢迎进一步交流讨论。