MyBatis插入时获取自增主键方法
MyBatis 3.2.6插入时候获取自增主键方法有两种。下面以以MySQL5.5为例通过两种方法给大家介绍mybatis获取自增主键的方法,一起看看吧。
以MySQL5.5为例:
方法1:
<insert id="insert" parameterType="Person" useGeneratedKeys="true" keyProperty="id"> insert into person(name,pswd) values(#{name},#{pswd}) </insert>
方法2:
<insert id="insert" parameterType="Person"> <selectKey keyProperty="id" resultType="long"> select LAST_INSERT_ID() </selectKey> insert into person(name,pswd) values(#{name},#{pswd}) </insert>
插入前实体id属性为0;
插入后实体id属性为保存后自增的id;
以上所述是小编给大家介绍的MyBatis插入时获取自增主键方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
利用Java的MyBatis框架获取MySQL中插入记录时的自增主键
第一步: 在Mybatis Mapper文件中添加属性"useGeneratedKeys"和"keyProperty",其中keyProperty是Java对象的属性名! <insert id="insert" parameterType="Spares" useGeneratedKeys="true" keyProperty="id"> insert into spares
-
Mybatis高级映射、动态SQL及获得自增主键的解析
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .下文给大家介绍Mybatis高级映射.动态SQL及获得自增主键的内容,具体详情请参考本文. 一.动态SQL 相信大家在用mybatis操作数据库时时都会碰到一个问题,假如现在我们有一个关于作者的list authorList,需要根据authorList里已有的作者信息在数据库中查询相应作者的博客信息.
-
MyBatis插入时获取自增主键方法
MyBatis 3.2.6插入时候获取自增主键方法有两种.下面以以MySQL5.5为例通过两种方法给大家介绍mybatis获取自增主键的方法,一起看看吧. 以MySQL5.5为例: 方法1: <insert id="insert" parameterType="Person" useGeneratedKeys="true" keyProperty="id"> insert into person(name,pswd
-
Mybatis插入时返回自增主键方式(selectKey和useGeneratedKeys)
目录 Mybatis插入时返回自增主键 Mybatis批量插入返回自增主键 解决办法 Mybatis插入时返回自增主键 通过selectKey在插入操作前或者操作后获取key值,做为字段插入或返回字段.(此段代码获取的序列值id作为字段值插入到实体类中返回) <insert id="insert"> <selectKey keyProperty="id" resultType="int" order="AFTER&qu
-
Mybatis使用useGeneratedKeys获取自增主键的方法
摘要 我们经常使用useGenerateKeys来返回自增主键,避免多一次查询.也会经常使用on duplicate key update,来进行insertOrUpdate,来避免先query 在insert/update.用起来很爽,但是经常踩坑,还不知为何.本篇就是深入分析获取自增主键的原理. 问题 首先摘两段我司一些老代码的bug 批量插入用户收藏 for (tries = 0; tries < MAX_RETRY; tries++) { final int result = colle
-
Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例
首先讲一下, 插入一条记录返回主键的 Mybatis 版本要求低点,而批量插入返回带主键的 需要升级到3.3.1版本,3.3.0之前的都不行. <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>3.3.1</version> </dependency> 1.MySQL <
-
详解mybatis插入数据后返回自增主键ID的问题
1.场景介绍: 开发过程中我们经常性的会用到许多的中间表,用于数据之间的对应和关联.这个时候我们关联最多的就是ID,我们在一张表中插入数据后级联增加到关联表中.我们熟知的mybatis在插入数据后返回的是插入成功的条数,那么这个时候我们想要得到相应的这条新增数据的ID,该怎么办呢? 2.插入数据返回自增主键ID方法(一) 在映射器中配置获取记录主键值xml映射: 在xml中定义useGeneratedKeys为true,返回主键id的值,keyProperty和keyColumn分别代表数据库
-
Mysql自增主键id不是以此逐级递增的处理
Mysql自增主键id不是以此逐级递增 一.介绍 在mysql数据库添加数据时使用ON DUPLICATE KEY UPDATE进行数据更新时可能会出现id不是逐级以此递增的,而是间断递增. 如id从10下次添加可能就是15或者其他的数字,两个数字之间间隔是ON DUPLICATE KEY UPDATE执行的次数,也就是说ON DUPLICATE KEY UPDATE在执行更新的时候把该表主键进行自增加一. 如图所示 二.问题介绍 在对于同一个表进行新增和修改时我用了两个mapper接口方法,也
-
Mybatis执行插入语句后并返回主键ID问题
目录 1.MySQL数据库设置ID自增情况 2.使用UUID自增主键 3.mybatis-plus在执行插入语句后返回自定义ID 总结 我们知道JDBC可以实现插入语句后返回主键Id,那mybatis可以实现吗? 答案是肯定的. 1.MySQL数据库设置ID自增情况 <insert id="insertUser" parameterType="com.crush.mybatisplus.entity.User"> INSERT INTO tb_user
-
MybatisPlus中插入数据后获取该对象主键值的实现
实体对象 主键IdType要设置为AUTO 表示数据库ID自增 @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) public class Employee implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) priv
随机推荐
- navicat不能创建函数解决方法分享
- AJAX跨域请求之JSONP获取JSON数据
- 微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
- 浅析Python中的多条件排序实现
- Asp定时执行操作 Asp定时读取数据库(网页定时操作详解)
- C#利用XML创建Excel文档的实现方法
- php中jQuery插件autocomplate的简单使用笔记
- JAVA实现的简单万年历代码
- java实现新浪微博Oauth接口发送图片和文字的方法
- 全面了解Java中的内部类和匿名类
- linux shell 逻辑运算符、逻辑表达式详细介绍
- Win2003服务器系统文件权限设置小结
- PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
- C#栈和队列的简介,算法与应用简单实例
- 深入了解javascript 数组的sort方法
- android自定义Dialog弹框和背景阴影显示效果
- 解决Redis设置密码重启后失效的问题
- 在Web关闭页面时发送Ajax请求的实现方法
- Java虚拟机处理异常的最佳方式
- python实发邮件实例详解