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插入时获取自增主键方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
Mybatis高级映射、动态SQL及获得自增主键的解析
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .下文给大家介绍Mybatis高级映射.动态SQL及获得自增主键的内容,具体详情请参考本文. 一.动态SQL 相信大家在用mybatis操作数据库时时都会碰到一个问题,假如现在我们有一个关于作者的list authorList,需要根据authorList里已有的作者信息在数据库中查询相应作者的博客信息.
-
利用Java的MyBatis框架获取MySQL中插入记录时的自增主键
第一步: 在Mybatis Mapper文件中添加属性"useGeneratedKeys"和"keyProperty",其中keyProperty是Java对象的属性名! <insert id="insert" parameterType="Spares" useGeneratedKeys="true" keyProperty="id"> insert into spares
-
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
随机推荐
- Javascript 面向对象(一)(共有方法,私有方法,特权方法)
- angular+ionic 的app上拉加载更新数据实现方法
- 详解VMware虚拟机网络连接模式(NAT,Bridged,Host-only)
- ASP实现强制图片下载函数
- SQL如何实现MYSQL的递归查询
- jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
- 奥汀管理员不切换bat脚本 V1.0-Design by Adobo
- java线程并发cyclicbarrier类使用示例
- java WebSocket的实现以及Spring WebSocket示例代码
- 详解Django框架中用context来解析模板的方法
- ASP.NET 前后台调用方法
- dedecms系统的广告设置代码 基础版本
- Python fileinput模块使用介绍
- 三种检测iPhone/iPad设备方向的方法
- Jquery 在页面加载后执行的几种方式
- JS与jQuery遍历Table所有单元格内容的方法
- jpg 木马如何执行 如何防止.JPG类型木马?
- javascript中的undefined 与 null 的区别 补充篇
- Java中char数组(字符数组)与字符串String类型的转换方法
- 详解java的值传递、地址传递、引用传递