首页 > 移动平台 > 详细

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

时间:2016-02-23 00:49:05      阅读:6667      评论:0      收藏:0      [点我收藏+]

在xxxMapper中

<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属于哪个实体类

<!-- 配置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,不是resultType

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

这个在写的时候要非常注意... ...

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

原文:http://www.cnblogs.com/yzlpersonal/p/5208587.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!