1

シンプルな mybatis ファイルを機能させるのに苦労しています。私はこのファイルを持っています:

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

次の例外が発生します。

原因: org.xml.sax.SAXParseException: 要素タイプ "mapper" のコンテンツは "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select*) と一致する必要があります+」。

私は間違いなくそこにいくつかの s を持っているので、これは混乱しています。ここで何が間違っているのでしょうか?ありがとう!

4

1 に答える 1

3

ここで間違っているのは、要素がファイルtypeAliasに入らないことです。mapperには存在しませんmybatis-3-mapper.dtd。要素は、ファイルtypeAliasに含める必要があります (要素内。mybatis-configtypeAliasesmybatis-3-config.dtd

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

<!ELEMENT typeAlias EMPTY>
<!ATTLIST typeAlias
type CDATA #REQUIRED
alias CDATA #IMPLIED
>
于 2013-04-18T00:31:28.137 に答える