【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后自增的主键
【MySQL】selectKey获取insert后的自动主键的更多相关文章
- mybatis+mysql insert添加数据后返回数据主键id
		1.根据useGeneratedKeys获取返回值,部分数据库不支持 修改mybatis xml <insert id="insertUser" useGeneratedKe ... 
- mysql 插入数据失败防止自增长主键增长的方法
		mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的? 或者说 ... 
- JDBC第二篇--【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】
		这是我JDBC的第一篇 http://blog.csdn.net/hon_3y/article/details/53535798 1.PreparedStatement对象 PreparedState ... 
- JDBC【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】
		1.PreparedStatement对象 PreparedStatement对象继承Statement对象,它比Statement对象更强大,使用起来更简单 Statement对象编译SQL语句时, ... 
- SQL语句获取数据库中的表主键,自增列,所有列
		SQL语句获取数据库中的表主键,自增列,所有列 获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_U ... 
- mybatis+mysql insert添加数据后返回数据主键id---(转)
		1.根据useGeneratedKeys获取返回值,部分数据库不支持 修改mybatis xml 1 2 3 <insert id="insertUser" useGener ... 
- mybatis3 :insert返回插入的主键(selectKey)
		Mysql: 主键自增长. 加上:keyProperty="id"就可以获得了. <insert id="insert" parameterType=&q ... 
- Mybatis 中获取添加的自增主键ID(针对mysql)
		分享一篇博客,主要就是针对在我们使用SSM的时候,在.xml中获取<insert></insert> 时的自增主键Id,由于好久没有,这个时候使用,有点生疏,就在这里写个笔记, ... 
- mysql 在insert 时防止出现主键冲突错误的方法
		在mysql中插入数据的时候常常因为主键存在而冲突报错,下面有两个解决方法: 1.在insert 语句中添加ignore 关键字,如:insert ignore into table (id,name ... 
随机推荐
- 奖项-MVP:MVP(微软最有价值专家)百科
			ylbtech-奖项-MVP:MVP(微软最有价值专家)百科 微软最有价值专家(MVP) 是指具备一种或多种微软技术专业知识,并且积极参与在线或离线的社群活动,经常与其他专业人士分享知识和专业技能,受 ... 
- 122、TensorFlow多设备运行
			# 如果你想使你的程序运行在不同的设备上 # tf.device函数提供了一个方便的方法来实现 # 所有在特定上下文中的操作都放置在相同的设备上面 # A device specification h ... 
- Java常用工具——java包装类
			一.包装类和基本数据类型 装箱:基本数据类型——包装类 拆箱:包装类——基本数据类型 package com.imooc.wrap; public class WrapTestOne { public ... 
- 生日蛋糕(dfs+剪枝)
			生日蛋糕 POJ - 1190 题目: 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M) ... 
- Codeforces Round #410 (Div. 2)B. Mike and strings(暴力)
			传送门 Description Mike has n strings s1, s2, ..., sn each consisting of lowercase English letters. In ... 
- iframe父页面和子页面高度自适应
			父页HTML: <iframe id="mainframe" name="mainframe" style="width:100%;&quo ... 
- Parentheses Sequence微软编程笔试
			描述 You are given a sequence S of parentheses. You are asked to insert into S as few parentheses as p ... 
- Codeforces 433A (背包)
			题面 传送门 真是令人胃疼的题面 我不管,我要把苹果都给雪菜!(滑稽)(冬马党不要打我) 分析 突然感觉这题跟今年NOIP Day1T2有点像,都是根据数加减来构造背包,只不过这题是01背包而不是完全 ... 
- 小B的询问(题解)(莫队)
			小B的询问(题解)(莫队) Junlier良心莫队 题目 luoguP2709 小B的询问 code #include<bits/stdc++.h> #define lst long lo ... 
- javascript跨浏览器操作xml
			//跨浏览器获取xmlDom function getXMLDOM(xmlStr) { var xmlDom = null; if (typeof window.DOMParser != 'undef ... 
