1. 程式人生 > 其它 >【MyBatis】學習筆記11:解決欄位名和屬性的對映關係

【MyBatis】學習筆記11:解決欄位名和屬性的對映關係

【Mybatis】學習筆記01:連線資料庫,實現增刪改

【Mybatis】學習筆記02:實現簡單的查

【MyBatis】學習筆記03:配置檔案進一步解讀(非常重要)

【MyBatis】學習筆記04:配置檔案模板

【MyBatis】學習筆記05:獲取引數值的兩種方式

【MyBatis】學習筆記06:各種查詢所返回資料的資料型別

【MyBatis】學習筆記07:模糊查詢

【MyBatis】學習筆記08:批量刪除

【MyBatis】學習筆記09:批量刪除

【MyBatis】學習筆記10:新增功能獲取自增的主鍵

目錄

在資料庫中,欄位名使用了下劃線

java例項化物件中String重寫,使用的名字是駝峰命名法

若欄位名和實體類中的屬性名不一致,則可以通過resultMap設定自定義對映,即使欄位名和屬性名一致的屬性也要對映,也就是全部屬性都要列出來

為欄位起別名,保持和屬性名一致

<!--List<Emp> getAllEmp();-->
<select id="getAllEmp" resultType="Emp">
	select eid,emp_name empName,age,sex,email from t_emp
</select>

通過全域性配置解決欄位名和屬性的對映關係

<!-- mybatis-config.xml-->

<!--    將_自動對映為駝峰,例如 emp_name對映為empName-->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value=""/>
    </settings>

通過resultMap解決欄位名和屬性名的對映關係

resultMap:設定自定義對映關係

id:唯一標識 不能重複

type:設定對映關係中的實體類的型別

子標籤:

id:設定元素主鍵的對映關係

result:設定普通欄位的對映關係

屬性:

property:設定對映關係中的屬性名,必須是type屬性所設定的實體類型別中的屬性名

column:設定對映關係中的欄位名,必須是sql語句中查詢的欄位名

<resultMap id="empResultMap" type="User">
    <id property="id" column="userId"></id>
    <result property="name" column="userName"></result>
    <result property="count" column="userCount"></result>
    <result property="pwd" column="userPassword"></result>
</resultMap>
<!--    List<User> getAll();-->
    <select id="getAll" resultMap="empResultMap">
        select * from t_users
    </select>