1. 程式人生 > >報錯:必須為元素型別 "insert" 宣告屬性 "resultMap"的解決

報錯:必須為元素型別 "insert" 宣告屬性 "resultMap"的解決

因為資料庫的欄位名和實體類的屬性名不同,我寫了resultMap,但是把執行的時候報錯

<mapper namespace="com.sport.dao.MusicMapper" >
	<!-- 配置resultMap屬性,進行表字段與實體類屬性性對映 -->
	<resultMap type="com.sport.entity.Music" id="MusicResultMap">
		<id column="id" property="id" jdbcType="INTEGER"/>
		<result column="title" property="title" jdbcType="VARCHAR"/>
		<result column="artist" property="artist" jdbcType="VARCHAR"/>
		<result column="album" property="album" jdbcType="VARCHAR"/>
		<result column="album_url" property="albumUrl" jdbcType="VARCHAR"/>
		<result column="music_url" property="musicUrl" jdbcType="VARCHAR"/>
		<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
		<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
	</resultMap>
	
	 
<insert  id="insertMusic" parameterType="com.sport.entity.Music" keyProperty="id" useGeneratedKeys="true" resultMap="MusicResultMap">
	insert into music (title,artist,album,album_url,music_url,create_time,update_time) values (#{title},#{artist},#{album},#{albumUrl},#{musicUrl},#{createTime},#{updateTime})
</insert>

<select  id="judgeRepeat" parameterType="com.sport.entity.Music" resultType="int" resultMap="MusicResultMap">
	select count(*) from music where title = #{title} and artist = #{artist}
</select>

Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 17; columnNumber: 134; 必須為元素型別 "insert" 宣告屬性 "resultMap"。

這是因為mybatis中的insert不能使用resultMap,所以把insert裡面的resultMap刪了就行了!

<insert  id="insertMusic" parameterType="com.sport.entity.Music" keyProperty="id" useGeneratedKeys="true">
	insert into music (title,artist,album,album_url,music_url,create_time,update_time) values (#{title},#{artist},#{album},#{albumUrl},#{musicUrl},#{createTime},#{updateTime})
</insert>