6、ResultMap結果集映射-解決實體類屬性名和數據庫字段名不一致的問題


1、根據id查詢到用戶

 

 

 2、如果改變實體類的字段再進行查詢,將User類中的pwd改為password

 

  可以見到查詢到的用戶密碼為空

 

 

 

 

 

3、 解決方法:

  第一種、在mapper中給要查詢的字段起別名

<select id="getUserById" resultType="user" parameterType="int">
        /*根據id查詢用戶*/
        select id,name,pwd as password from mybatis.user where id = #{id};
    </select>

  第二種、使用結果集映射

 

    <!--結果集映射-->
    <resultMap id="userMap" type="user"> <!--user是給實體類起的別名,別弄混淆-->
        <!--column:數據庫中的字段 property:實體類中的屬性-->
        <result column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="pwd" property="password"/>
    </resultMap>

    <select id="getUserById" resultMap="userMap"  parameterType="int">
        /*根據id查詢用戶*/
        select * from mybatis.user where id = #{id};
    </select>

 

  • 上面resultMap的配置如果:數據庫字段跟實體類屬性的名稱相同,可以不寫:
 
        

 

 

 


免責聲明!

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



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