mybatis resultType设置为自定义对象时 获取不到id的值。

<select id="querySysUserByUsernameAndPassword" resultType="SysUser">
    select * from sys_user where username=#{username} and password=#{password}
</select>

<select id="queryUserIdByUsernameAndPassword" resultType="String">
    select id from sys_user where username=#{username} and password=#{password}
</select>

    上面的获取到的对象id为null 其他的属性也有值, 下面的id有值 。
    不要说设置resultMap  我就想用用这种。

resultType="SysUser" 没有这种类型

SysUser 是一个对象,所以要用resultMap
第一个sql语句是查全部,返回一个对象
第二条sql查id,返回一个String类型的ID

如果要用resultType返回一个对象,resultType="com.bean.SysUser", 这样

要使用自定义的话都要写个resultMap的,要写好关系映射

resultMap要配好地址,这个是一个对象









SELECT sales_id
FROM salesman WHERE sales_id=#{id}

<\resultMap id="salesResultMap" type="com.emerson.learning.pojo.Sales">

<\id property="salesId" column="sales_id" />

<\/resultMap>

<\select id="getById" parameterType="int" resultMap="salesResultMap" >

SELECT sales_id
FROM salesman WHERE sales_id=#{id}

<\/select>

你要用resultMap,

检查实体的id类型和你数据库的id类型一致