遇到了 关于 Mybatis 的Invalid bound statement (not found)的错误
是 使用maven 搭建的 ssm项目
将所有的过程和配置都检查了一遍,发现并没有问题,搜索了一些技术博客,发现大量的处理方式
是将 web.xml中的 配置 由” /*” 改为” /”
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/mvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>/</url-pattern> <!--将/* 改为了 />
</servlet-mapping>
修改后发现并没有解决问题:
最终发现了问题所在:映射文件在src/main/java目录下,考虑到可能没有被加载,所以出现异常
解决方案:
第一种:
在src/main/resources 目录下放置 映射文件
第二种:在映射文件位置不变,而在pom.xml中添加配置
在 中添加资源配置,加载映射文件信息
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
这两种方案都解决了我遇到的这个问题
maven项目 是将 java代码和 配置 进行了 分离显示,映射文件放置在 java代码文件夹中 可能就会被
漏加载,需要迁移至 资源目录 或 配置相应的 资源加载
仅代表个人看法,有不足之处欢迎指出