Mybatis入門(五)屬性名和字段名不一致解決


在學Mybatis的時候都需要創建一個實體類,但創建實體類的變量必須和數據庫的一樣,這章就來解決這個有趣的問題

 

目錄:

 

 

問題是這樣:

 

 

輸出的結果是:

 

 

 

password為空,這就很難受;

解決方法:

第一種:

改UserMapper.xml配置文件的SQL語句:

<mapper namespace="com.hdlf.dao.UserMapper">
    <!--id就是UserMapper里的方法名字,里面寫執行MySQL的命令 resultType返回的類型-->
    <select id="getUser" resultType="com.hdlf.pojo.User">
        SELECT id, name, pwd as password FROM mybatis.user where id = #{id}
    </select>
</mapper>

這是最暴力的方法

 

第二種:

使用resultMap方法映射到實體類中:

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--綁定UserMapper接口,大白話就是實現UserMapper這個接口的功能--> <mapper namespace="com.hdlf.dao.UserMapper"> <!--結果集映射--> <resultMap id="MapUser" type="User"> <!--column是數據庫中的字段,property是實體類中的變量名--> <result column="id" property="id"></result> <result column="name" property="name"></result> <result column="pwd" property="password"></result> </resultMap> <!--使用resultMap映射,resultMap就是上面resultMapd的id--> <select id="getUser" resultMap="MapUser"> SELECT * FROM mybatis.user where id = #{id} </select> </mapper>

 

測試結果:

 

 

如果遇到這樣的問題就用第二種方法吧。


免責聲明!

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



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