在写一个接口时,我们需要对两个表分别动刀,但是我们需要前一个表的主键作为下一个表的功能外键,

如果使用mybatisplus,insert完成之后便可以直接在对象中取出这个id值

如果使用mybatis,我们就需要在手写的xml文件中额外写一些代码:

<insert id="insert" useGeneratedKeys="true" keyProperty="id">
INSERT INTO table_name (column1, column2, ...)
VALUES (#{property1}, #{property2}, ...);
</insert>
  1. useGeneratedKeys="true" 属性表示在插入数据时要使用数据库生成的主键。这通常用于获取插入记录后数据库生成的自增主键值。

  2. keyProperty="id" 属性指定了用于存储生成的主键值的 Java 对象的属性。在这个例子中,表示将生成的主键值设置到对象的 id 属性中

 
通过上述新增的两个属性,我们可以实现下面要求

dishMapper.insert(dish);
Long dishId = dish.getId();

如何立刻读取在MySQL中自动生成的主键的更多相关文章

  1. javaweb学习总结(三十七)——获得MySQL数据库自动生成的主键

    测试脚本如下: 1 create table test1 2 ( 3 id int primary key auto_increment, 4 name varchar(20) 5 ); 测试代码: ...

  2. javaweb(三十七)——获得MySQL数据库自动生成的主键

    测试脚本如下: 1 create table test1 2 ( 3 id int primary key auto_increment, 4 name varchar(20) 5 ); 测试代码: ...

  3. 五.获得MYSQL数据库自动生成的主键

    测试脚本如下: 1 create table test1 2 ( 3 id int primary key auto_increment, 4 name varchar(20) 5 ); 测试代码: ...

  4. JDBC学习笔记(6)——获取自动生成的主键值&处理Blob&数据库事务处理

    获取数据库自动生成的主键 [孤立的技术是没有价值的],我们这里只是为了了解具体的实现步骤:我们在插入数据的时候,经常会需要获取我们插入的这一行数据对应的主键值. 具体的代码实现: /** * 获取数据 ...

  5. 【转】JDBC学习笔记(6)——获取自动生成的主键值&处理Blob&数据库事务处理

    转自:http://www.cnblogs.com/ysw-go/ 获取数据库自动生成的主键 我们这里只是为了了解具体的实现步骤:我们在插入数据的时候,经常会需要获取我们插入的这一行数据对应的主键值. ...

  6. java面试一日一题:mysql中的自增主键

    问题:请讲下mysql中的自增主键 分析:该问题主要考察对mysql中自增主键的掌握,使用场景及如何设置 回答要点: 主要从以下几点去考虑 1.什么自增主键 2.使用场景是什么: 3.innodb_a ...

  7. PowerDesigner中表名过长,自动生成的主键名截取的问题

    在PowerDesinger中,若表名过长,自动生成的主键名会被自动截取. 解决如下:DataBase/Edit Current DBMS/Scripts/Objects/PKey/ConstName ...

  8. (jdbc)取得数据库自动生成的主键方法

    一些类,在前面的博客中有,就不重复了 public class Test2 { TestDAO t=new TestDAO(); /*前提是数据表的主键是自动增加的, *取得数据库自动生成的主键 * ...

  9. Java_jdbc 基础笔记之十五 数据库连接(取得数据库自动生成的主键)

    public class testGetKeyValue { /** * 取得数据库自动生成的主键 */ @Test public void testGeneratedKeys() { Connect ...

  10. JDBC 获取自动生成的主键

    为什么需要获取自动生成的主键 例如:

随机推荐

  1. C#中位枚举(Flags)

    在日常的开发工作当中,位枚举可能会被经常使用,如星期多选.租期多选等等,我们可以将多选字段做或运算,然后保存到数据库表的字段中,如 1 | 2 = 3(0001 | 0010 = 0011 = 3). ...

  2. 你好Avalonia框架

    https://docs.avaloniaui.net/docs/getting-started/ 起因公司事业部是做移动等营业厅办理相关业务,无纸化系统的.简单的说就是以前去营业厅办理业务都需要各种 ...

  3. SwiftUI(二)- 页面导航NavigationLink和Sheet窗口(模态视图)

    NavigationLink 官方文档对NavigationLink的定义: A button that triggers a navigation presentation when pressed ...

  4. Tron_CTF2024新生赛 MISC

    猿神?岂洞!! 题目: 腿短的好奇怪,难道有东西? 密码在这,好像有电!.txt 0362014324221316063736154275 还有一个压缩包. 我的解答: 036201432422131 ...

  5. 《iOS面试之道》-勘误2

    一.如何保证NSTimer不受Runloop的影响,准时触发 书中提到两种方案, 一种是改变timer加入到runloop中的Mode,为CommonModes不受Runloop的Mode影响 第二种 ...

  6. switch case 跳转表

    一.事情来源 事情来源是一段奇怪的代码,代码如下 int x = 1000; switch (x) { case 1000: { NSLog(@"%d", 1); } case 2 ...

  7. SQL练习之打卡记录数据统计类问题

    最近老婆的公司,关闭了OA系统中,各类打卡时间数据统计的功能,为了不麻烦老婆手算,就做了一个简单的打卡系统,方便自动统计老婆想要知道的各类数据. 做的过程中就遇到了几个还挺有意思的SQL,这里写成一篇 ...

  8. zabbix如何监控服务器

    1.zabbix架构图 zabbix核心概念 先记住如下zabbix中的核心几个概念 主机 ( HOST ) : 就是具体的一个监控对象,某一个被监控的实例,可以是一个数据库,也可以是一个操作系统. ...

  9. requests高级操作

    requests的Cookie处理 有时相关的需求会让我们去爬取基于某些用户的相关用户信息,例如爬取张三人人网账户中的个人身份信息.好友账号信息等. 那么这个时候,我们就需要对当前用户进行登录操作,登 ...

  10. sql的删除语句

    好久没用过sql的删除语句了,今天写删除语句的时候报错了,应该是:   DELETE FROM 表名称 WHERE 列名称 = 值 我写成了: DELETE FROM 表名称 别名 WHERE 别名. ...