Mybatis | 您所在的位置:网站首页 › 夜莺鸟怎么叫 › Mybatis |
学习mybatis的过程中,测试mapper自动代理的时候一直出错,在eclipse中可以正常运行,而同样的代码在idea中却无法成功。虽然可以继续调试,但心里总是纠结原因。百度了好久,终于找到一个合适的原因。参 原因:(参考:http://www.linuxidc.com/Linux/2015-06/118877.htm) IDEA的maven项目中,默认源代码目录下的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。 如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹。Hibernate和Spring有时会将配置文件放置在src目录下,编译后要一块打包进classes文件夹,所以存在着需要将xml等资源文件放置在源代码目录下的需求。 解决: 方法1:将xml或properties等配置文件放到resource下,并修改获取配置文件的代码,比如注册mapper.xml的位置等; 方法2:在maven中添加过滤:
src/main/resources
**/*.properties **/*.xml
true
src/main/java
**/*.properties **/*.xml
true
我采用mybatis的自动代理设置,将mapper文件和xml文件同名同包下,并在sqlMap.xml(mybatis-config.xml)中配置mapper自动注册扫描包:
不管是在多modul 下进行配置还是单个工程下,均是这样配置; idea 的 多modul 下 ,只需要在 root 项目的 maven 下进行配置即可! 当然配置在 pom.xml 中的 标签下! example :
org.mortbay.jetty maven-jetty-plugin 6.1.7
8888 30000
${project.build.directory}/${pom.artifactId}-${pom.version} /
src/main/resources
**/*.properties **/*.xml
true
src/main/java
**/*.properties **/*.xml
true
Mybatis - 在idea中错误:Invalid bound statement (not found) |
CopyRight 2018-2019 实验室设备网 版权所有 |