mybatis 中設定mysql自增主鍵報錯Incorrect integer value: '' for column 'class_id' at row 1
阿新 • • 發佈:2019-02-16
按道理自增主鍵這樣配置
<insert id="insertAlbum" useGeneratedKeys="true" keyProperty="classId">
insert into attachment_class
VALUES (
#{classId},'1','IMAGE',#{className},#{classSort},#{classImage},now()
)
</insert>
只要設定的keyProperty與${}中的值相同即可
但我每次插入都報Incorrect integer value: '' for column 'class_id' at row 1
說明我傳入的${classId}為空
解決辦法:
原理我是用map傳入引數的,map中本身就有了一個名為classId的引數,而且為空,所以mybats直接就把我傳入的插入了,所以報空。
只要keyProperty改個名字就行了,不要與傳入的以上就行
<insert id="insertAlbum" useGeneratedKeys="true" keyProperty="classId1"> insert into attachment_class VALUES ( #{classId1},'1','IMAGE',#{className},#{classSort},#{classImage},now() ) </insert>