zoukankan      html  css  js  c++  java
  • 【MySQL】selectKey获取insert后的自动主键

      <insert id="insert" parameterType="cc.mrbird.febs.energy.domain.ChatGroup">
      <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
          select LAST_INSERT_ID()
      </selectKey>
        insert into chat_group (id, group_index, group_name, 
          member_id)
        values (#{id,jdbcType=BIGINT}, #{groupIndex,jdbcType=VARCHAR}, #{groupName,jdbcType=VARCHAR}, 
          #{memberId,jdbcType=BIGINT})
      </insert>

    selectKey  会将 SELECT LAST_INSERT_ID()的结果放入到传入的model的主键里面,  

    • keyProperty 对应的model中的主键的属性名,这里是 user 中的id,因为它跟数据库的主键对应  
    • order AFTER 表示 SELECT LAST_INSERT_ID() 在insert执行之后执行,多用与自增主键,  
    • BEFORE 表示 SELECT LAST_INSERT_ID() 在insert执行之前执行,这样的话就拿不到主键了,  
    • resultType 主键类型 

    实体类

    public class ChatGroup implements Serializable {
        private Long id;
    
        private String groupIndex;
    
        private String groupName;
    
        private Long memberId;
    
        private static final long serialVersionUID = 1L;
    }

    调用

    insert方法之后,ChatGroup.getId()获取insert后自增的主键

  • 相关阅读:
    Vue-基础(四)
    Vue-基础(三)
    Vue-基础(一)
    Vue-基础(二)
    CSS-初始化模板2(common.css)
    CSS-初始化模板1(normalize.css)
    CSS预处理器-Less
    MySQL视窗函数row_number(), rank(), denser_rank()
    LeetCode第4题:寻找两个有序数组的中位数
    无重复字符的最长子串
  • 原文地址:https://www.cnblogs.com/jxd283465/p/11731656.html
Copyright © 2011-2022 走看看