1. 程式人生 > >mybatis 返回自增主鍵

mybatis 返回自增主鍵

mybatis返回自增主鍵,兩種方式

    1:使用xml標籤屬性

useGeneratedKeys="true" keyProperty="id"

    2:使用insert的子標籤

<selectKey keyProperty="id" resultType="long" order="AFTER" keyColumn="id">
    SELECT LAST_INSERT_ID()
</selectKey>

order屬性說明:mysql是自增主鍵,成功插入資料之後才有id,所以是AFTER,其它資料庫例如ORACLE,需要先去序列中查一個序列來作為資料的id,先查了之後再插入資料,所以是BEFORE


兩種方法的對比,第一種只支援資料庫有自增id功能的資料庫

第二種則沒有限制,通用性比第一種強


注意,我之前犯了一種低階錯誤,以為自增的id會以方法返回值的形式返回,但最後發現不是的,不管使用上面哪種方式,id都是返回到物件中,id以前在哪裡,返回了還是在哪裡