ResultMap
当数据库中的字段名和java中的实体类名称不匹配时,虽程序还能运行,但最后得出的结果却是不匹配的属性结果为null。
所以我们可以使用结果集映射ResultMap属性
<!--我们就要把resultType标签改为resultMap标签 -->
<!--结果类型转换为结果集 -->
<select id="selectUserById" resultType="User">
select *from user where id = #{id}
</select>
<select id="selectUserById" resultMape="UserMap">
select *from user where id = #{id}
</select>
然后为ResultMap配置属性对应
<!-- 只要把数据库和实体类不一样的相对应即可,这里把所有列出来好观察-->
<resultMap id="UserMap" type="User">
<!-- id为主键 -->
<id column="id" property="id"/>
<!-- column是数据库表的列名 , property是对应实体类的属性名 -->
<result column="name" property="name"/>
<result column="years" property="year"/>
</resultMap>
<select id="selectUserById" resultMap="UserMap">
select id , name , years from user where id = #{id}
</select>