1. 程式人生 > 實用技巧 >解決Mybaits資料庫欄位和屬性名不一致的問題

解決Mybaits資料庫欄位和屬性名不一致的問題

解決Mybaits資料庫欄位和屬性名不一致的問題

表結構

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(8)      | NO   | PRI | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

java實體類

package com.ivy.pojo;

public class User {
    private int id;
    private String username;
}

當實體類的屬性和表的結構欄位名不一致時,需要我們手動去做欄位對映

ResultMap

結果集對映

 <resultMap id="UserMap" type="com.ivy.pojo.User">
        <result column="id" property="id"/>
        <result column="name" property="username"/>
    </resultMap>

    <select id="getUserList" resultMap="UserMap">select * from mybatis.user</select>

在對應的xml解析檔案中增加resultMap欄位,id為當前resultMap的唯一識別符號, type為對應實體類的別名或路徑

result為當前resultMap對應的欄位屬性

最後在對用的sql標籤裡將resultType改為resultMap值為對應的id即可

對於一些不需要更改的欄位,可以忽略