我總結了三種方法:
第一種,非內置函數,這是通用sql語句,相信你一看就懂
<!-- 第一種 非內置函數--> select max(sid) from student
第二種,因爲我使用的是sql server,因此用的是下面這種內置函數
select @@Identity as sid
若是你想使用mysql的內置函數,那就是last_insert_id(),其他的什麼數據庫我沒弄過,也就不散扯了。
第三種:
useGeneratedKeys="true" keyProperty="sid"
不過這一行是在<insert>這個sql標籤上寫的,以下:
<insert id="save" parameterType="student" useGeneratedKeys="true" keyProperty="sid" >
這是我總結的三點,若是你還有別的方法,請拿出來你們分享一下?
這是所有代碼:
<!-- 保存一個學生對象 --> <insert id="save" parameterType="student" useGeneratedKeys="true" keyProperty="sid" > <!-- 獲取插入以後的主鍵 --> <!-- <selectKey resultType="int" keyProperty="sid" order="AFTER" >--> <!-- 第一種 非內置函數--> <!-- select max(sid) from student--> <!-- 第二種 內置函數 --> <!-- select @@Identity as sid--> <!-- </selectKey>--> insert into student(sname,sage) values(#{sname},#{sage}); </insert>