報錯:必須為元素型別 "insert" 宣告屬性 "resultMap"的解決
阿新 • • 發佈:2019-01-31
因為資料庫的欄位名和實體類的屬性名不同,我寫了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>