mybatis新增后,返回主键,利用mysql的自有函数LAST_INSERT_ID()。
贴上代码(1)
<insert id="insert" parameterType="com.Test" >
insert into test(id, username)
values (#{id,jdbcType=INTEGER},#{username,jdbcType=VARCHAR})
<selectKey keyProperty="id" resultType="int" order="AFTER">
select LAST_INSERT_ID()
</selectKey>
</insert>
其中,test为数据表,字段id为自增主键。
在JAVA程序中写:代码(2)
public void saveTest(Test test){
this.testMapper.insert(test);//运用mybatis自有接口来新增。
int id = test.getId();//id值为新增的主键值。
}
在代码(1)中写上了selectKey后,在代码(2)中新增test,test的id属性则自动有了值。
--------------------------------
补充:
关于LAST_INSERT_ID()并发问题,
正常情况下无需担心并发,但有一种特殊情况除外,
当几个客户端同时去调用一个数据库连接时,同时插入多条insert语句,
中间夹着last_insert_id函数,这种情况因素太多,不能保证是否出现并发。
分享到:
相关推荐
只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢
在使用MyBatis进行数据库操作时,有时我们需要在插入数据后获取自动生成的主键ID,这在处理自增主键的场景下尤其常见。在MySQL数据库中,自增主键通常用于标识每条记录的独特性,而在插入新记录后,数据库会自动为这...
在本项目中,我们主要探讨的是如何利用SpringBoot集成Mybatis框架进行大数据量(例如500万条)的批量插入操作,并将其高效地存入MySQL数据库。这个Demo旨在提供一个学习实例,帮助开发者理解并优化大数据处理的性能...
本文将详细讲解如何在MyBatis中利用MySQL的自增主键功能,以便在插入新记录后获取生成的唯一ID。 首先,我们要明白MySQL中的自增主键。自增主键是一种特殊的字段类型(通常是`INT`),每当插入新的记录时,其值会...
MyBatis实现Mysql数据库分库分表操作和总结 MyBatis是一款流行的持久层框架,能够与Mysql数据库进行交互。在大规模的应用系统中,数据库的性能和可扩展性变得非常重要。为了解决这个问题,需要实现数据库的分库分表...
使用Docker安装MySQL Mybatis插件MybatisPlus的入门搭建后台服务系统实现新增房源服务前后端进行整合,实现新增房源功能。该描述指出了本文的主要内容,即使用Docker安装MySQL数据库,并使用MybatisPlus框架来快速...
本文将深入探讨MyBatis Generator 1.3.5版本,以及其在Mysql和SQL Server环境中的应用。 MyBatis Generator是一款基于XML配置的代码生成器,它能够根据数据库表的信息自动创建Model类、Mapper接口和Mapper XML文件...
6. **兼容性**:MBG支持多种数据库,如MySQL、Oracle、SQL Server等,同时也支持MyBatis 3.x版本。 7. **增量更新**:MBG提供了增量更新的功能,当数据库表结构发生变化时,只需要重新运行MBG,它会自动识别变化并...
这个函数会返回插入操作后生成的新主键。 Java 代码部分展示了如何调用 MyBatis 的接口方法 `createStudentAutoKey` 来插入数据,并获取自动生成的主键。通过设置实体类 `StudentEntity` 的属性,然后调用方法,...
### Spring集成MyBatis完整示例 #### 项目概述 本文档详细介绍了一个使用Spring框架、MyBatis ORM框架以及Maven构建工具实现的图书管理系统。系统功能包括:图书列表展示、单个图书删除、批量图书删除、图书编辑、...
在完成MyBatis入门学习之后,接下来的学习目标是掌握如何利用MyBatis进行基本的数据访问操作,包括查询、新增、更新和删除等操作。我们将通过一个具体的案例——《tlias智能学习辅助系统》来学习这些技能。 ##### ...
MyBatis Generator(MBG)是一个强大的工具,用于在Java项目中自动生成MyBatis相关的代码,包括DAO层、实体Bean以及Mapper接口和XML映射文件。它极大地减少了手动编写这些重复性工作的时间,使开发者能更专注于业务...
在本文中,我们将深入探讨Mybatis-Plus的增删改查快速入门,特别适合对Mybatis-Plus感兴趣的初学者。Mybatis-Plus是一个强大的Mybatis扩展,它简化了Java开发中的数据库操作,提供了便捷的CRUD(创建、读取、更新、...
Mybatis-plus是MyBatis增强工具包,用于简化CRUD操作。该工具包为MyBatis提供了一些高效,有用,即用的功能,使用它可以有效地节省您的开发时间。 Mybatis-plus特征: 与MyBatis完全兼容 启动时自动配置 开箱即用的...
如果表中的某个字段定义了唯一索引或主键,我们可以直接在`INSERT`语句后添加`ON DUPLICATE KEY UPDATE`子句。当尝试插入的记录与表中已有的记录冲突时(即违反了唯一性约束),MySQL会执行`UPDATE`操作而不是抛出...
然后,创建实体类,例如`User.java`,并继承`BaseEntity`,以便利用Mybatis-Plus的自动维护主键等功能: ```java import com.baomidou.mybatisplus.annotation.TableName; @TableName("user") public class User ...