【MyBatis】學習筆記11:解決欄位名和屬性的對映關係
阿新 • • 發佈:2022-03-28
【MyBatis】學習筆記03:配置檔案進一步解讀(非常重要)
【MyBatis】學習筆記06:各種查詢所返回資料的資料型別
目錄在資料庫中,欄位名使用了下劃線
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>