2013-04-17 5 views
1

간단한 mybatis 파일이 작동하는 데 어려움을 겪고 있습니다. org.xml.sax.SAXParseException :mybatis mapper xml : 요소 유형 "mapper"의 내용이 일치해야합니다.

에 의해 발생 : | 캐시 (캐시 심판 "과 일치해야합니다"매퍼 "요소 유형의 내용 나는 다음과 같은 예외가

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE mapper 
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
<mapper namespace="truthtree.model.mysql.UserMapper"> 

    <typeAlias alias="User" type="truthtree.model.mysql.User" /> 

    <select id="getAllUsers" resultType="User"> 
     select * from User 
    </select> 

    <select id="findUserByID" resultType="User"> 
     select * 
     from User 
     where id=#{id,javaType=int} 
    </select> 

    <select id="findByNameAndPassword" resultType="User"> 
     select * 
     from User 
     where name = #{name,javaType=String} 
      and password = #{password,javaType=String} 
    </select> 

</mapper> 

:이 파일이 | resultMap * | parameterMap * | sql * | insert * | update * | delete * | select *) + ".

내가 거기에 분명히 있기 때문에 혼란 스럽다. 어떤 아이디어가 여기에 잘못 될 수 있습니까? 감사!

답변

3

여기서 잘못된 점은 typeAlias 요소가 mapper 파일에 포함되지 않는다는 것입니다. mybatis-3-mapper.dtd에는 없습니다.

<!ELEMENT typeAliases (typeAlias*,package*)> 

<!ELEMENT typeAlias EMPTY> 
<!ATTLIST typeAlias 
type CDATA #REQUIRED 
alias CDATA #IMPLIED 
> 
: 그것은 mybatis-3-config.dtd에 분명하다 같이 typeAlias 요소는 typeAliases 요소 내부의 mybatis-config 파일 (에 포함되어야한다
관련 문제