根据用户指南,我可以使用文件路径代替 资源:
// Using classpath relative resources
<mappers>
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
</mappers>
// Using url fully qualified paths
<mappers>
<mapper url="file:///var/sqlmaps/AuthorMapper.xml"/>
</mappers>
在我的项目中我试图将我的mapper xml“放在”项目之外 而我正在这样做:
<mapper url="file://D:/Mappers/ComponentMapper1.xml" />
我的log4j控制台的输出:
Error building SqlSession.
The error may exist in file://D:/Mappers/ComponentMapper1.xml
Cause: org.apache.ibatis.builder.BuilderException: Error parsing
SQL Mapper Configuration. Cause: java.net.UnknownHostException: D
答案 0 :(得分:1)
在驱动器号之前,您只需要一个额外的正斜杠。
答案 1 :(得分:0)
Sql Map Config相对于类路径查找映射文件,因此只需尝试将 ComponentMapper1.xml 添加到类路径中。
set CLASSPATH=%CLASSPATH%;D:/Mappers/
...
<mapper resource="ComponentMapper1.xml" />
答案 2 :(得分:-1)
您必须使用
<mapper url="file:///usr/local/ComponentMapper1.xml" />
其中file:///usr/local/ComponentMapper1.xml
是XML文件的路径,而不是资源,如果您想在资源目录外使用映射器。