1. 程式人生 > 其它 >解決屬性名和欄位名不一致的問題

解決屬性名和欄位名不一致的問題

技術標籤:java

問題描述

資料庫中的欄位如下:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-3VjC1aqp-1612602898362)(C:%5CUsers%5CHP%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210205170448333.png)]

在類中的屬性名有改動:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-D2eWXS3f-1612602898364)(C:%5CUsers%5CHP%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210205170542322.png)]

在查詢結果時變動的屬性名沒有查出結果:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-X47gAuSS-1612602898365)(C:%5CUsers%5CHP%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210205170716356.png)]

問題原因

類中的屬性沒有和資料庫中的欄位對應起來


解決問題

  • 方法一:起別名,在欄位名後用“as”對應屬性名
<select id="getUserById" parameterType="int" resultType="hello">
    select id,name,pwd as password from mybatis.user where id=#{id};
</select
>

  • 方法二:使用resultMap
  <resultMap id="UserMap" type="User">
        <result column="pwd" property="password"/>
</resultMap>

column:資料庫中的欄位; property:實體類中的屬性