MyBatis表字段名與實體類屬性名衝突的解決方式
阿新 • • 發佈:2019-01-09
解決方式無非是將表字段名對映到實體類對應的屬性名,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
標籤<id>為表的主鍵專用。<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>