mybatis_解決資料庫欄位與實體類屬性不一樣的問題
阿新 • • 發佈:2020-07-30
解決屬性名和欄位名不一致的問題
1、問題
資料庫中的欄位
新建一個專案,拷貝之前的,測試實體類欄位不一致的情況
public class User {
private int id;
private String name;
private String password;
}
測試出現問題
// select * from mybatis.user where id = #{id}
//型別處理器
// select id,name,pwd from mybatis.user where id = #{id}
解決方法:
-
起別名
<select id="getUserById" resultType="com.kuang.pojo.User"> select id,name,pwd as password from mybatis.user where id = #{id} </select>
2、resultMap
結果集對映
id name pwd
id name password
<!--結果集對映--> <resultMap id="UserMap" type="User"> <!--column資料庫中的欄位,property實體類中的屬性--> <result column="id" property="id"/> <result column="name" property="name"/> <result column="pwd" property="password"/> </resultMap> <select id="getUserById" resultMap="UserMap"> select * from mybatis.user where id = #{id} </select>
resultMap
元素是 MyBatis 中最重要最強大的元素- ResultMap 的設計思想是,對於簡單的語句根本不需要配置顯式的結果對映,而對於複雜一點的語句只需要描述它們的關係就行了。
ResultMap
最優秀的地方在於,雖然你已經對它相當瞭解了,但是根本就不需要顯式地用到他們。- 如果世界總是這麼簡單就好了。