最近遇到一个比较奇葩的问题,@RunWith(SpringRunner.class)和@SpringbootTest注解都加入了,然而@Autowired自动注入属性失败报空指针异常,检查了下映射文件和配置文件,都没问题。
然后我再运行一次就变成了报这个错了,Invalid bound statement (not found): cn.itsource.springboot.mapper.RoleMapper.findAll
初步分析应该是mapper 层的 Mapper 接口与 xml 文件映射出现问题、或 mapper 接口直接找不到xml文件。
然后我去找发现xml文件中 namespace 与 接口对应上,id 与方法名也对应上(xml文件有放在 resources 目录下)
发现以上没问题后我就查看 application.yml 中关于 mybatis 的配置,果然问题出现这:我没有配置映射文件的路径,加入映射文件路径就解决了,但是第一个空指针异常我没搞懂哪来的。
mapper-locations: classpath:cn/itsource/springboot/mapper/*.xml