使用junit进行单元测试时报错Invalid bound statement (not found)
程序员文章站
2023-12-23 16:53:04
...
前言
开发DAO层接口时如果需要测试,传统做法需要实现Service、Controller再启动项目才能查看效果。
如果使用junit来做单元测试的话可以直接访问DAO层接口,会方便很多。
报错
最近在使用mybatis-plus的项目中测试DAO层接口时报错:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): ...
百度了下找到一个解决方法是将mybatis扫描mapper路径修改为完整路径,
但未找到这个问题的实际原因(以后找到原因再更新…)。
解决方案
原始配置(junit测试报错)
mybatis-plus:
# 如果是放在src/main/java目录下 classpath:/com/yourpackage/*/mapper/*Mapper.xml
# 如果是放在resource目录 classpath:/mapper/*Mapper.xml
mapper-locations: classpath:/com/atmoon/*/mapper/xml/*Mapper.xml
修改后配置(补全匹配路径)
mybatis-plus:
mapper-locations: classpath:/com/atmoon/demo/mapper/xml/*Mapper.xml
可以正常使用了~