2021-08-18

本文介绍了在MyBatis中如何使用selectKey标签来获取插入记录后的自增ID。通过设置keyProperty、order等属性,可以在before或after插入操作时获取到最新插入的ID。order属性的设置对执行顺序有直接影响,after表示先执行插入再获取ID,而before则相反。单独执行SELECT LAST_INSERT_ID()将返回0。
摘要由CSDN通过智能技术生成

mybatis入门(1)——selectKey

在使用mybatis insert时,使用id自增有时需要返回最新插入的id;

<insert id="insert" parameterType="com.zmh.projectoa.model.Users">
    <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
      SELECT LAST_INSERT_ID()
    </selectKey>
    insert into users (username, password, realname, 
      department_id, position_id, is_del, 
      last_login_time, create_time, update_time
      )
    values (#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{realname,jdbcType=VARCHAR}, 
      #{departmentId,jdbcType=INTEGER}, #{positionId,jdbcType=INTEGER}, #{isDel,jdbcType=VARCHAR}, 
      #{lastLoginTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
      )
  </insert>

order:如果是before的话,先执行SELECT LAST_INSERT_ID(),再执行insert
如果是after,先执行insert,再执行SELECT LAST_INSERT_ID()
单独执行SELECT LAST_INSERT_ID()只会返回0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值