資料庫的欄位名和類的成員變數名不一致的解決辦法,sql語句的as,resultMap對映

2020-10-23 17:00:47

案例:

資料庫表Person,有三個 列: id、name、city
類Person有三個成員變數:pid、pname、pcity

當資料庫的欄位名和我們的類的成員變數名不一致,主要通過兩種方法實現對映:

  1. 通過sql語句,使用 as 起別名,就是給資料庫的列名起一個別名,別名與類的成員變數名一致。
	select 
		id as pid,
		name as pname,
		money as pmoney
	from person

注意最後一個查詢語句不需要逗號

  1. 通過resultMap標籤進行資料庫列與類的成員變數的對映
	<resultMap id="personMap" type="person">
         <id column="id" property="pid"/>
         <result  column="name" property="pname"/>
         <result  column="city" property="pcity"/>
    </resultMap>
    <select id="findAll" resultMap="personMap">
        select
            id,name,city
        from ss_company
    </select>

resultMap標籤進行資料庫與實體類的對映
標籤id,對應資料庫表的主鍵,,標籤result,對應資料庫非主鍵的其他列
屬性column對應資料庫表的列名,屬性property對應實體類