1. 程式人生 > >MyBatis表字段名與實體類屬性名衝突的解決方式

MyBatis表字段名與實體類屬性名衝突的解決方式

解決方式無非是將表字段名對映到實體類對應的屬性名,SQl語言的處理方式不知大家還記不記得,如下的SQL語句:
select people_id id,people_name name,people_age age from people where people_id=2

指的就是將查詢到的資料按照id,name,age三列的方式展現出來。我認為不管是非ORM框架的jdbc工具或者是ORM框架的相關對映都是對這句SQL語句的封裝。因為不管怎麼樣,離不開開發人員最終操作的是關係型資料庫的事實。本文講解MyBatis的兩種處理方式。

1、直接寫對映型SQL語句

<select id="getPeople" parameterType="int" resultType="_people">
	select people_id id,people_name name,people_age age from people where people_id=#{id}
</select>

2、使用MyBatis的處理方式,指定resultMap

<select id="getPeople2" parameterType="int" resultMap="getPeople2Map">
		select * from people where people_id=#{id}
</select>
	
<resultMap type="_people" id="getPeople2Map">
	<id property="id" column="people_id"/>
	<result property="name" column="people_name"/>
	<result property="age" column="people_age"/>
</resultMap>
標籤<id>為表的主鍵專用。