zoukankan      html  css  js  c++  java
  • 6.mybatis异常:SQL Mapper Configuration,Error parsing Mapper XML,Could not resolve type alias

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

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

    逃避不一定躲得过,面对不一定最难过
  • 相关阅读:
    rm 、git rm 、git rm --cached的区别
    实行敏捷开发阶段性总结
    [转]Pycharm 断点调试方法
    scp -v 查看具体的过程
    根据字典的值大小进行排序
    文件服务器满故障排查总结
    看谷歌白板面试有感
    [译]从列表或字典创建Pandas的DataFrame对象
    查找docker log久远数据方法
    docker log 批量删除报错: find: `/var/lib/docker/containers/': 没有那个文件或目录
  • 原文地址:https://www.cnblogs.com/yangzhenlong/p/5208587.html
Copyright © 2011-2022 走看看