解決屬性名和字段名不一致的問題
1.出現的問題
數據庫中的字段
新建一個項目,拷貝之前的,測試實體類與數據庫字段不一致的情況
public class User {
private int id;
private String name;
private String password;
}
現在測試出現問題
解決方法:
方法一:最簡單的在sql語句中直接起別名
<select id="getUserById" resultType="user">
select id,name,pwd as password from mybatis.user where id = #{id}
</select>
方法二就是使用下面的resultMap
2、resultMap
結果集映射
首先定義一個resultMap的標簽做數據庫字段與實體類屬性的映射(注:可以只映射不相同的字段與屬性)
<!--resultMap叫結果集映射,
就是實現將sql查詢出來的結果集映射到實體類里-->
<resultMap id="UserMap" type="User">
<!--column數據庫的字段,property實體類中的屬性-->
<!--resultMap可以什么哪個字段不一樣轉哪個字段,
並不用數據庫列和實體類屬性全部寫完-->
<!-- <result column="id" property="id"/>
<result column="name" property="name"/>-->
<result column="pwd" property="password"/>
</resultMap>
然后select標簽取引用它,如下:
<select id="getUserById" resultMap="UserMap">
select * from mybatis.user where id = #{id}
</select>
這就是結果集映射的用法。
下面時截取的Mybatis官網上的一些針對resultMap的重要信息:
resultMap
元素是 MyBatis 中最重要最強大的元素。- ResultMap 的設計思想是,對簡單的語句做到零配置,對於復雜一點的語句,只需要描述語句之間的關系就行了。
- 相同的字段和屬性名不用做映射也可。
- 如果這個世界總是這么簡單就好了。(哈哈哈哈)
碼雲地址:https://gitee.com/mo18/Mybatis-Study.git 這篇文章在mybatis-03模塊!