springboot使用 junit 测试 mybatis 提示 Invalid bound statement 问题,不修改xml文件位置的解决办法,提示如下错误:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235)
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:53)
at org.apache.ibatis.binding.MapperProxy.lambda$cachedInvoker$0(MapperProxy.java:107)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
at org.apache.ibatis.binding.MapperProxy.cachedInvoker(MapperProxy.java:94)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85)
at com.sun.proxy.$Proxy79.insertBatchSecurity(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
解决办法:
将src/main/resources/application.properties中的classpath后面加星号:
mybatis.mapper-locations=classpath:com/demo/*/model/mapper/*.xml
修改为:
mybatis.mapper-locations=classpath*:com/demo/*/model/mapper/*.xml
再次执行测试: