2010-06-08 2 views
3

: 내 프로젝트에myBatis (iBatis) xml 맵퍼를 프로젝트 외부에 배치 할 수 있습니까? 내가 대신 자원의 파일 경로를 사용할 수 있어요 사용자 가이드에 따르면

 

// 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는 classpath에 상대적으로 매핑 파일을 찾습니다. 따라서 ComponentMapper1.xml을 클래스 경로 어딘가에 추가해보십시오.

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

... 

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

대신 자원의, file:///usr/local/ComponentMapper1.xml이 XML 파일의 경로입니다

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

를 사용해야합니다.