解决属性名和字段名不一致
将用户pwd属性改名为password,导致取出的password为null
解决方法
①起别名
<select id="getUserById" resultType="com.lms.pojo.User" parameterType="int">
select id,name,pwd as password from user where id = #{id};
</select>
resultMap
结果集映射
<resultMap id="UserMap" type="User">
<result column="pwd" property="password"/>
</resultMap>
<select id="getUserById" resultMap="UserMap">
select * from user where id = #{id};
</select>
返回值resultMap对应上面自己定义的id名
结果集定义中:column对应数据库列名,property对应类成员名
当用户将属性名`pwd`改为`password`时,从数据库查询时会得到`password`为null的结果。解决这个问题的方法是使用MyBatis的别名或结果映射。一种解决方案是在SQL查询中使用`pwd as password`来创建别名,另一种是在`resultMap`中定义`<result column=pwd property=password/>`,确保类成员名与数据库列名对应。
791

被折叠的 条评论
为什么被折叠?



