• 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()

     

     

  • 相关阅读:
    《构建之法》读书笔记⑤
    《构建之法》读书笔记④
    个人总结
    构建之法阅读笔记03
    构建之法阅读笔记02
    构建之法阅读笔记01
    第二阶段冲刺——seven
    第二阶段冲刺——six
    第二阶段冲刺——five
    第二阶段冲刺——four
  • 原文地址:https://www.cnblogs.com/emanlee/p/15124884.html
Copyright © 2020-2023  润新知