2010-06-08 3 views
3

Согласно руководству пользователя, я могу использовать путь к файлу вместо ресурса:Возможно ли разместить myBatis (iBatis) xml mappers вне проекта?

 

// 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> 

в моем проекте я пытаюсь поставить свой сопоставитель 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

Я обновил ibatis до самой новой версии, добавил косую черту: , и он работает просто отлично :) – kospiotr

ответ

1

Вам просто нужен дополнительный прямой косой черты перед буквой диска.

0

Sql Map Config ищет файлы сопоставления относительно пути к классам, поэтому просто попробуйте добавить свой ComponentMapper1.xml где-то в путь к классам.

set CLASSPATH=%CLASSPATH%;D:/Mappers/ 

... 

<mapper resource="ComponentMapper1.xml" /> 
-1

Вы должны использовать

<mapper url="file:///usr/local/ComponentMapper1.xml" /> 

Где file:///usr/local/ComponentMapper1.xml является путем к XML-файлу, а не ресурс, если вы хотите использовать картограф вне директории ресурсов.