疫情期间,居家办公,开始写后台代码,用IDEA大环境,新建maven工程始终失败,原因未知,折腾一上午。为了赶时间,
只能不在纠结环境,拷贝老项目,将pom.xml中的部分内容修改后,maven clean 运行跑起来,然后开始兴致勃勃地写代码,
写完第一个接口之后,开始在test目录写测试代码操作数据库,没想到接下的错误,折腾了我一个下午:
[/frontend-integration/frontendIntegration/system/addFrontendSystem] is: -1
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.hnac.hzinfo.frontend.sysintegration.dao.FrontendIntegrationMapper.selectByExample
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:225)
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:48)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)
at com.sun.proxy.$Proxy71.selectByExample(Unknown Source)
at
在网上查了一通,说的貌似就是Dao 和 Mapper 对不上,我看了下接口,Service 和 commonDao 注解都加了,
pom.xml 文件中:
<resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.sql</include> </includes> </resource> </resources>
也已经将xml所在的目录扫描进入了,可是为什么还会报这个错误呢?Why, tell me why....
多番查找无果之后,请求同事帮忙,最后才知道运行扫描环境和 打包扫描环境不同,我上面那个是打包的,最终的问题就是一个字母s的问题:
哭晕在测试。。。。当然,归根结底还是自己对这些配置的作用不了解,以前都是在别人搭好的环境上工作或者是一有问题就问旁边的同事了,这次居家中,只能独自苦苦查询,最后还是求助于人解决,浪费了一个下午,就当一个教训吧。知其然还有知其所以然,好好学习了解,不要下次又掉进同样的坑中,mark 一下。