6.mybatis異常:SQL Mapper Configuration,Error parsing Mapper XML,Could not resolve type alias

在xxxMapper中java

<select id="getClazz" parameterType="int" resultType="getClazzMap">
        SELECT * FROM class c,teacher t WHERE c.tid = t.tid AND c.cid=#{id}
    </select>
    
    <resultMap type="Clazz" id="getClazzMap">
        <id property="id" column="cid"/>
        <result property="name" column="cname"/>
        <!-- 關聯班級對應的teacher -->
        <association property="teacher" javaType="Teacher">
            <id property="id" column="tid"/>
            <result property="name" column="tname"/>
        </association>
    </resultMap>

查各類資料發現,用到resultType,必須在mybatis的配置文件中進行別名申明該resultType屬於哪一個實體類mybatis

<!-- 配置xxxMapper.xml中的實體類的別名 -->
    <typeAliases>
        <!-- 單個實體類配置別名 -->
        <typeAlias type="com.mlxs.mybatis.test1.User" alias="User"/>
        <typeAlias type="com.mlxs.mybatis.test1.Clazz" alias="getClassMap"/>
        <!-- 整個包配置,別名默認爲類名 推薦 -->
        <package name="com.mlxs.mybatis.bean"/>
    </typeAliases>

可是,其實我這上面用錯了,我真正要用的是resultMap,不是resultTypeapp

<select id="getClazz" parameterType="int" resultMap="getClazzMap">
        SELECT * FROM class c,teacher t WHERE c.tid = t.tid AND c.cid=#{id}
    </select>
    
    <resultMap type="Clazz" id="getClazzMap">
        <id property="id" column="cid"/>
        <result property="name" column="cname"/>
        <!-- 關聯班級對應的teacher -->
        <association property="teacher" javaType="Teacher">
            <id property="id" column="tid"/>
            <result property="name" column="tname"/>
        </association>
    </resultMap>

這個在寫的時候要很是注意... ...spa

相關文章
相關標籤/搜索