mybatis 第四天 主鍵生成

       mysql主鍵生成:java

                            

經過修改sql映射文件,能夠將mysql自增主鍵返回:mysql

<insert id="insertUser" parameterType="cn.itcast.mybatis.po.User">sql

       <!-- selectKey將主鍵返回,須要再返回 -->mybatis

       <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">oracle

           select LAST_INSERT_ID()函數

       </selectKey>ui

       insert into user(username,birthday,sex,address)spa

        values(#{username},#{birthday},#{sex},#{address});rem

    </insert>it

添加selectKey實現將主鍵返回

keyProperty:返回的主鍵存儲在pojo中的哪一個屬性

orderselectKey的執行順序,是相對與insert語句來講,因爲mysql的自增原理執行完insert語句以後纔將主鍵生成,因此這裏selectKey的執行順序爲after

resultType:返回的主鍵是什麼類型

LAST_INSERT_ID():mysql的函數,返回auto_increment自增列新記錄id值。

 

 

 

須要增長經過select uuid()獲得uuid

 

<insert  id="insertUser" parameterType="cn.itcast.mybatis.po.User">

<selectKey resultType="java.lang.String" order="BEFORE"

keyProperty="id">

select uuid()

</selectKey>

insert into user(id,username,birthday,sex,address)

       values(#{id},#{username},#{birthday},#{sex},#{address})

</insert>

注意這裏使用的order是「BEFORE

  oracle  主鍵生成:

                

首先自定義一個序列且用於生成主鍵,selectKey使用以下:

<insert  id="insertUser" parameterType="cn.itcast.mybatis.po.User">

<selectKey resultType="java.lang.Integer" order="BEFORE"

keyProperty="id">

SELECT 自定義序列.NEXTVAL FROM DUAL

</selectKey>

insert into user(id,username,birthday,sex,address)

       values(#{id},#{username},#{birthday},#{sex},#{address})

</insert>

注意這裏使用的order是「BEFORE

相關文章
相關標籤/搜索