在編寫一些復雜的映射語句,或是數據庫的列名和實體名等對不上時,會映射不了,所以就需要ResultMap做一個映射的設置。
在官網中也有說到:這樣一個語句簡單作用於所有列被自動映射到 HashMap 的鍵上,這由 resultType 屬性 指定。這在很多情況下是有用的,但是 HashMap 不能很好描述一個領域模型。那樣你的應 用程序將會使用 JavaBeans 或 POJOs(Plain Old Java Objects,普通 Java 對象)來作為領域 模型。MyBatis 對兩者都支持。
在列名對不上或是復雜的時候就需要ResultMap了
具體的配置:
<mapper namespace="com.huawei.dao.PersonMapper"> <resultMap id="userResultMap" type="Person"> <id property="id" column="id" /> <result property="name" column="name"/> <result property="age" column="age"/> </resultMap> <!-- 查詢所有person --> <select id="queryAll" resultMap="userResultMap" > select * from person where id=${1} </select> <insert id="addTest" parameterType="Person" flushCache="true"> INSERT INTO `person`(`id`,`name`,`age`) VALUES (#{id},#{name},#{age}); </insert> </mapper>
配置一個ResultMap標簽,設置id和映射的實體和列名和映射的實體的字段
在下面是用resultMap去調用就好了