MyBatis中insert返回主鍵(ID)

【Oracle】或者不支持ID自增的資料庫

只需要在<selectKey>中配置 keyProperty="id名稱" 即可

<insert id="add" parameterType="class"> <selectKey resultType="int" keyProperty="id名稱"> <!--如果不行,加上 order="AFTER" 表示在新增之後執行--> <!-- 用於返回主鍵的值 --> select 序列.currval from dual </selectKey> insert into table (id,....) values(序列.nextval, ....)</insert>

返回的還是受影響行數,只不過,mybatis自動將主鍵的值注入到你新增的實體類中了

【MySQL、sqlserver】支持自增的資料庫

<insert id="add" parameterType="class" useGeneratedKeys="true" keyProperty="id"> <!--如果實體類中的ID和資料庫中的ID名稱不一致還需加上keyProperty="userId" 用來指定實體類中的ID名稱--> insert into ....</insert>

同上....

推薦閱讀:

TAG:MyBatis | Oracle資料庫 | MicrosoftSQLServer |