天天看點

[Mybatis]5.ResultMap結果集映射

解決屬性名和字段名不一緻的問題

1.問題

資料庫中的字段

[Mybatis]5.ResultMap結果集映射

建立一個項目,拷貝之前的,測試實體類字段不一緻的情況

因為資料庫中密碼的字段為pwd,而在實體類中為password,

private int id;
    private String name;
    private String password;
           

此時,我們用查詢一條記錄,會發現password字段的值為null!

[Mybatis]5.ResultMap結果集映射

解決方法:

一種為起别名

<select id="getUserById" parameterType="int" resultType="com.hui.pojo.User" >
        select id,name,pwd as password from mybatis.user where id = #{id}
    </select>
           

2.resultMap

結果集映射

之前: id name pwd

現在: id name password

簡單用法:

<!--    結果集映射-->
    <resultMap id="UserMap" type="User">
<!--        column:資料庫中的字段; property:實體類中的屬性-->
        <result column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="pwd" property="password"/>
    </resultMap>
           

我們可以看到,當用pwd查詢時,會自動映射為password

[Mybatis]5.ResultMap結果集映射
  • resultMap 元素是 MyBatis 中最重要最強大的元素。
  • ResultMap 的設計思想是,對簡單的語句做到零配置,對于複雜一點的語句,隻需要描述語句之間的關系就行了。
  • ResultMap 的優秀之處——你完全可以不用顯式地配置它們。
  • 如果這個世界總是這麼簡單就好了。

繼續閱讀