zoukankan      html  css  js  c++  java
  • MyBatis:<selectKey> #keyProperty、keyColumn、order

    数据库表中有一个自增长字段为id,如何在插入记录之后获得这个id值呢?

    比如:

    insert into user(username,address,sex,birthday) values(#{username},#{address},#{sex},#{birthday})

    执行完后,我们去看数据库,发现多了一条记录:

    问题:看了数据库后我们知道自动生成的id是11,如果不看数据库,能不能知道这个id呢?

    selectKey 就能解决这个问题!

    示例如下:

        <insert id="saveUser" parameterType="com.aimin.domain.User">
            <selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER">
                select last_insert_id();
            </selectKey>
            insert into user(username,address,sex,birthday) values(#{username},#{address},#{sex},#{birthday})
        </insert>
    说明:

    1、keyColumn:数据表中那个自增长的id字段名称

    2、keyProperty:数据表的字段和实体类的属性是对应的,在实体类中对应的属性就是keyProperty

    3、order:本标签内的语句(这里是 select last_insert_id() )是先执行还是后执行
    这里order="AFTER", 先执行 insert into user(username,address,sex,birthday) values(#{username},#{address},#{sex},#{birthday})   后执行select last_insert_id()

     

     

  • 相关阅读:
    nao机器人使用手册
    突然感觉简单的东西是最美的
    window10教育版激活失败
    linux新分区无法新建文件夹
    看看CSDN的吃相
    游戏mod启动器原理
    显示器选购指南
    维修老电视
    快乐小丑
    这猫会关水龙头,所以你只要给猫猫打开就行——华中师范大学的胖猫
  • 原文地址:https://www.cnblogs.com/emanlee/p/15124884.html
Copyright © 2011-2022 走看看