mybatis——解決屬性名和數據庫字段名不一致問題


首先說一下,我的數據庫名字叫mybatis,里邊有一張user表,表中有三個字段,id、name、pwd;然后實體類中對應三個屬性id、name、password(id和name跟數據庫字段名一致,但是第三個屬性password和數據庫的字段pwd不同)

 

 解決方案

方式一:起別名

  在映射文件中給sql語句里的字段取別名

<select id="getUserById" parameterType="int" resultType="user">
        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>
<select id="getUserById" parameterType="int" resultMap="UserMap">
    select * from mybatis.user WHERE id = #{id}
</select>

注意:

  若數據庫字段名和實體類的屬性名相同,則resultMap中可以不用寫它們的result標簽。當然寫上也是沒關系的,例如:

<resultMap id="UserMap" type="user">
  <result column="id" property="id">
  <result column="name" property="name">   <result column="pwd" property="password"/> </resultMap> <select id="getUserById" parameterType="int" resultMap="UserMap"> select * from mybatis.user WHERE id = #{id} </select>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM