`
angelbill3
  • 浏览: 256532 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

【学习】Mybatis新增后返回主键(MYSQL)

 
阅读更多
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函数,这种情况因素太多,不能保证是否出现并发。
分享到:
评论

相关推荐

    mybatis 批量插入返回主键

    只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢只提供代码,自己去下载相关jar包谢谢

    MyBatis+MySQL 返回插入的主键ID的方法

    在使用MyBatis进行数据库操作时,有时我们需要在插入数据后获取自动生成的主键ID,这在处理自增主键的场景下尤其常见。在MySQL数据库中,自增主键通常用于标识每条记录的独特性,而在插入新记录后,数据库会自动为这...

    SpringBoot使用mybatis批量新增500万数据到mysql数据库Demo

    在本项目中,我们主要探讨的是如何利用SpringBoot集成Mybatis框架进行大数据量(例如500万条)的批量插入操作,并将其高效地存入MySQL数据库。这个Demo旨在提供一个学习实例,帮助开发者理解并优化大数据处理的性能...

    利用Java的MyBatis框架获取MySQL中插入记录时的自增主键

    本文将详细讲解如何在MyBatis中利用MySQL的自增主键功能,以便在插入新记录后获取生成的唯一ID。 首先,我们要明白MySQL中的自增主键。自增主键是一种特殊的字段类型(通常是`INT`),每当插入新的记录时,其值会...

    MyBatis实现Mysql数据库分库分表操作和总结(推荐)

    MyBatis实现Mysql数据库分库分表操作和总结 MyBatis是一款流行的持久层框架,能够与Mysql数据库进行交互。在大规模的应用系统中,数据库的性能和可扩展性变得非常重要。为了解决这个问题,需要实现数据库的分库分表...

    使用Docker安装MySQL以及MybatisPlus的入门.docx

    使用Docker安装MySQL Mybatis插件MybatisPlus的入门搭建后台服务系统实现新增房源服务前后端进行整合,实现新增房源功能。该描述指出了本文的主要内容,即使用Docker安装MySQL数据库,并使用MybatisPlus框架来快速...

    mybatis-generator-mysqlAndSQLServer1.3.5.rar

    本文将深入探讨MyBatis Generator 1.3.5版本,以及其在Mysql和SQL Server环境中的应用。 MyBatis Generator是一款基于XML配置的代码生成器,它能够根据数据库表的信息自动创建Model类、Mapper接口和Mapper XML文件...

    mybatis-generator 代码自动生成工具---内有详细介绍

    6. **兼容性**:MBG支持多种数据库,如MySQL、Oracle、SQL Server等,同时也支持MyBatis 3.x版本。 7. **增量更新**:MBG提供了增量更新的功能,当数据库表结构发生变化时,只需要重新运行MBG,它会自动识别变化并...

    mybatis教程之动态sql语句[收集].pdf

    这个函数会返回插入操作后生成的新主键。 Java 代码部分展示了如何调用 MyBatis 的接口方法 `createStudentAutoKey` 来插入数据,并获取自动生成的主键。通过设置实体类 `StudentEntity` 的属性,然后调用方法,...

    Spring集成MyBatis完整示例.docx

    ### Spring集成MyBatis完整示例 #### 项目概述 本文档详细介绍了一个使用Spring框架、MyBatis ORM框架以及Maven构建工具实现的图书管理系统。系统功能包括:图书列表展示、单个图书删除、批量图书删除、图书编辑、...

    高级软件人才培训专家-day09-Mybatis

    在完成MyBatis入门学习之后,接下来的学习目标是掌握如何利用MyBatis进行基本的数据访问操作,包括查询、新增、更新和删除等操作。我们将通过一个具体的案例——《tlias智能学习辅助系统》来学习这些技能。 ##### ...

    mybatis-generator.rar

    MyBatis Generator(MBG)是一个强大的工具,用于在Java项目中自动生成MyBatis相关的代码,包括DAO层、实体Bean以及Mapper接口和XML映射文件。它极大地减少了手动编写这些重复性工作的时间,使开发者能更专注于业务...

    Mybatis-Plus的增删改查快速入门

    在本文中,我们将深入探讨Mybatis-Plus的增删改查快速入门,特别适合对Mybatis-Plus感兴趣的初学者。Mybatis-Plus是一个强大的Mybatis扩展,它简化了Java开发中的数据库操作,提供了便捷的CRUD(创建、读取、更新、...

    Mybatis plus增强工具包-其他

    Mybatis-plus是MyBatis增强工具包,用于简化CRUD操作。该工具包为MyBatis提供了一些高效,有用,即用的功能,使用它可以有效地节省您的开发时间。 Mybatis-plus特征: 与MyBatis完全兼容 启动时自动配置 开箱即用的...

    mysql 记录不存在时插入 记录存在则更新的实现方法

    如果表中的某个字段定义了唯一索引或主键,我们可以直接在`INSERT`语句后添加`ON DUPLICATE KEY UPDATE`子句。当尝试插入的记录与表中已有的记录冲突时(即违反了唯一性约束),MySQL会执行`UPDATE`操作而不是抛出...

    springboot专栏 007springboot整合mybatis-plus增删改查 ModelAndView jsp 分页

    然后,创建实体类,例如`User.java`,并继承`BaseEntity`,以便利用Mybatis-Plus的自动维护主键等功能: ```java import com.baomidou.mybatisplus.annotation.TableName; @TableName("user") public class User ...

Global site tag (gtag.js) - Google Analytics