使用selectKey返回主键的值

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

使用selectKey返回主键的值

pbyang5689   2022-05-23 我要评论

使用selectKey返回主键的值

使用<selectKey>标签来获取插入操作主键返回的值。

对于MySQL数据库

  <insert id="insert">
       insert into user(
       username, password, email, info, headImg, createTime)
       values(
       #{username}, #{password}, #{email},
       #{info}, #{headImg, jdbcType=BLOB},
       #{createTime, jdbcType=TIMESTAMP})
       <selectKey keyColumn="id" resultType="long" keyProperty="id" order="AFTER">
          SELECT LAST_INSERT_ID()
       </selectKey>     
   </insert>

通过selectkey返回insert或update后的值

实体类如下:

表结构如下:

其中varId为主键,但非自增

@selectKey使用

@selectKey

  • statement:指定查询的语句
  • keyProperty:指定结果对应的实体类的字段,如果是多个字段,采用逗号,分隔。如varId,varName,
  • keyColumn:指定stament语句返回的列明,与keyProperty对应,如果多个,采用逗号分隔。
  • resultType:返回值类型
  • before:ture,插入前执行,false插入后执行

插入时,如何查询当前最大id,并赋值给实体类,示例如下:

方案1

插入前,首先查询当前最大的id,并赋值给实体对象

如下:

方案2

插入时,获取当前最大值,插入

插入后,查询当前最大的id,并赋值给实体对象。

如下:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们