代码改变世界

MyBatis框架使用resultMap进行多表查询时出现的NoClassDefFoundError问题

2019-10-10 11:28  pere  阅读(414)  评论(0)    收藏  举报

问题:

在UserMapper.xml文件中配置

<resultMap type="user" id="userList">
     <result property="id" column="id"/>
     <result property="userCode" column="userCode"/>
     <result property="userName" column="userName"/>
     <result property="phone" column="phone"/>
     <result property="birthday" column="birthday"/>
     <result property="userRole" column="userRole"/>
     <result property="userRoleName" column="roleName"/>
     </resultMap>
         <!-- 多条件(使用resultMap)查询用户列表(多表查询)  -->
     <select id="getUserList4" resultType="userList" parameterType="user">
         select u.*,r.roleName from smbms_user u,smbms_role r
         where userName like CONCAT ('%',#{userName},'%')
         and userRole=#{userRole} and u.userRole=r.id
     </select>

image

问题分析

<resultMap type="user" id="userList">
    <result property="id" column="id"/>
    <result property="userCode" column="userCode"/>
    <result property="userName" column="userName"/>
    <result property="phone" column="phone"/>
    <result property="birthday" column="birthday"/>
    <result property="userRole" column="userRole"/>
    <result property="userRoleName" column="roleName"/>
    </resultMap>
        <!-- 多条件(使用resultMap)查询用户列表(多表查询)  -->
    <select id="getUserList4" resultType="userList" parameterType="user">
        select u.*,r.roleName from smbms_user u,smbms_role r
        where userName like CONCAT ('%',#{userName},'%')
        and userRole=#{userRole} and u.userRole=r.id
    </select>

以上resultType应该改成resultMap