mybatis插入值的时候返回对象的主键值

mapping文件:

复制代码
<insert id="insert" parameterType="com.vimtech.bms.business.riskprojectapproval.domain.RiskProjectApproval" >
    insert into WF_RISK_PROJECT_APPROVAL (RISKTGID, PROJID, CREATEDATE, 
      UPDATEDATE, STATUS, CONCLUSION, 
      CREATOR, RISKTYPE, APPLYTYPE, 
      ISCOMPENSATORY)
    values (#{risktgid,jdbcType=NUMERIC}, #{projid,jdbcType=NUMERIC}, #{createdate,jdbcType=TIMESTAMP}, 
      #{updatedate,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{conclusion,jdbcType=VARCHAR}, 
      #{creator,jdbcType=VARCHAR}, #{risktype,jdbcType=INTEGER}, #{applytype,jdbcType=INTEGER}, 
      #{iscompensatory,jdbcType=INTEGER})
      <selectKey resultType="long" keyProperty="risktgid">
        SELECT @@IDENTITY AS RISKTGID
      </selectKey>
  </insert>
  <insert id="insertSelective" parameterType="com.vimtech.bms.business.riskprojectapproval.domain.RiskProjectApproval" >
    insert into WF_RISK_PROJECT_APPROVAL
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="risktgid != null" >
        RISKTGID,
      </if>
      <if test="projid != null" >
        PROJID,
      </if>
      <if test="createdate != null" >
        CREATEDATE,
      </if>
      <if test="updatedate != null" >
        UPDATEDATE,
      </if>
      <if test="status != null" >
        STATUS,
      </if>
      <if test="conclusion != null" >
        CONCLUSION,
      </if>
      <if test="creator != null" >
        CREATOR,
      </if>
      <if test="risktype != null" >
        RISKTYPE,
      </if>
      <if test="applytype != null" >
        APPLYTYPE,
      </if>
      <if test="iscompensatory != null" >
        ISCOMPENSATORY,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="risktgid != null" >
        #{risktgid,jdbcType=NUMERIC},
      </if>
      <if test="projid != null" >
        #{projid,jdbcType=NUMERIC},
      </if>
      <if test="createdate != null" >
        #{createdate,jdbcType=TIMESTAMP},
      </if>
      <if test="updatedate != null" >
        #{updatedate,jdbcType=TIMESTAMP},
      </if>
      <if test="status != null" >
        #{status,jdbcType=INTEGER},
      </if>
      <if test="conclusion != null" >
        #{conclusion,jdbcType=VARCHAR},
      </if>
      <if test="creator != null" >
        #{creator,jdbcType=VARCHAR},
      </if>
      <if test="risktype != null" >
        #{risktype,jdbcType=INTEGER},
      </if>
      <if test="applytype != null" >
        #{applytype,jdbcType=INTEGER},
      </if>
      <if test="iscompensatory != null" >
        #{iscompensatory,jdbcType=INTEGER},
      </if>
    </trim>
    <selectKey resultType="long" keyProperty="risktgid">
          SELECT @@IDENTITY AS RISKTGID
    </selectKey>
  </insert>
复制代码

如上中的selectKey中的写法即可,然后就可以在action中使用了

posted @   xh_Blog  阅读(566)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示