在xml文件中,文件最上面定义的resultMap要和下面查询语句中的resultMap保持一致,才能够返回正确的结果,并将查询结果正确的映射到该对象上面。
<?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="com.lk.web.dao.UserInfoMapper">
<resultMap id="BaseResultMapUser" type="com.lk.web.model.UserInfoExtended">
<id column="user_id" jdbcType="INTEGER" property="userId" />
<result column="parent_user_id" jdbcType="INTEGER" property="parentUserId" />
<result column="login_name" jdbcType="VARCHAR" property="loginName" />
<result column="phone" jdbcType="VARCHAR" property="phone" />
<result column="salt" jdbcType="VARCHAR" property="salt" />
<result column="password" jdbcType="VARCHAR" property="password" />
<result column="user_class" jdbcType="INTEGER" property="userClass" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="company" jdbcType="VARCHAR" property="company" />
<result column="poic_id" jdbcType="INTEGER" property="poicId" />
<result column="city_id" jdbcType="INTEGER" property="cityId" />
<result column="cuty_dsrc_id" jdbcType="INTEGER" property="cutyDsrcId" />
<result column="user_photo" jdbcType="VARCHAR" property="userPhoto" />
<result column="user_indate" jdbcType="DATE" property="userIndate" />
<result column="user_lock" jdbcType="INTEGER" property="userLock" />
<result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="bak" jdbcType="VARCHAR" property="bak" />
<result column="poic_name" jdbcType="VARCHAR" property="poicName" />
<result column="city_name" jdbcType="VARCHAR" property="cityName" />
<result column="cuty_dsrc_name" jdbcType="VARCHAR" property="cutyDsrcName" />
<result column="user_class_name" jdbcType="VARCHAR" property="userClassName" />
<result column="permission_list" jdbcType="VARCHAR" property="permissionList" />
</resultMap>
上面是定义的对象和属性信息
下面说查询语句中标注红色部分
<select id="findUserPerInfoList" parameterType="com.lk.web.model.UserInfoExtended" resultMap="BaseResultMapUser" >
SELECT u.user_id,u.login_name, u.name,u.phone, u.user_class, ucd.user_class_name,cp.permission_list
FROM gf_user_info u
LEFT JOIN gf_class_permission cp
ON u.user_class=cp.user_class
LEFT JOIN gf_user_class_dic ucd
ON u.user_class=ucd.user_class
WHERE
<trim suffixOverrides="and">
u.user_class!=1
</trim>
ORDER BY u.user_id DESC
<if test="page!= null and page.pageSize != null">
limit #{page.start, jdbcType=INTEGER}
,#{page.pageSize,jdbcType=INTEGER}
</if>
</select>