mybaitsz中的主键返回

来源:互联网 发布:js怎么产生随机数 编辑:程序博客网 时间:2024/06/16 15:55
主键返回

通过修改sql映射文件,可以将mysql自增主键返回:

<insertid="insertUser"parameterType="cn.me.mybatis.po.User">

       <!-- selectKey将主键返回,需要再返回 -->

       <selectKeykeyProperty="id"order="AFTER"resultType="java.lang.Integer">

           select LAST_INSERT_ID()

       </selectKey>

    insert into user(username,birthday,sex,address,detail,score)

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

    </insert>

添加selectKey实现将主键返回

keyProperty:返回的主键存储在pojo中的哪个属性

orderselectKey的执行顺序,是相对与insert语句来说,由于mysql的自增原理执行完insert语句之后才将主键生成,所以这里selectKey的执行顺序为after

resultType:返回的主键是什么类型

LAST_INSERT_ID():是mysql的函数

 

Oracle可采用序列完成:

首先自定义一个序列且于生成主键,selectKey使用如下:

<selectKeyresultType="java.lang.Integer" order="BEFORE"

keyProperty="id">

SELECT 自定义序列.NEXTVAL FROM DUAL

</selectKey>

注意这里使用的order是“BEFORE