数据库中的字段
新建一个项目,拷贝之前的,测试实体类字段不一致的情况
5.1 测试出现问题
<!-- select * from mybatis.user where id=#{id} 经过类型处理器本质上是
select id,name,pwd from mybatis.user where id=#{id};
但是在User中没有pwd
-->
解决方案:
起别名
<select id="getUserById" resultType="User" parameterType="int">
select id,name,pwd as password from mybatis.user where id=#{id};
</select>
结果集映射
5.2 resultMap
结果集映射
id name pwd
id name password
<!-- 结果集映射-->
<resultMap id="UserMap" type="User">
<!-- column是针对数据库,property针对实体类-->
<result column="id" property="id"></result>
<result column="name" property="name"></result>
<result column="pwd" property="password"></result>
</resultMap>
<select id="getUserById" resultMap="UserMap" parameterType="int">
select * from mybatis.user where id=#{id};
</select>
resultMap 元素是 MyBatis 中最重要最强大的元素
ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。
ResultMap 的优秀之处——你完全可以不用显式地配置它们 (只配置需要的就可以了)