当前位置: 首页 > news >正文

springboot mybatis mysql新增后返回id(ai生成)

在Spring Boot项目中使用MyBatis和MySQL时,若想在插入数据后返回生成的ID,可以在Mapper接口的插入方法上使用@Options注解,并设置useGeneratedKeys属性为true,同时指定keyProperty为实体类中对应ID的属性名。

以下是一个简单的示例:

1、实体类(假设为User):

public class User {private Long id; // 假设ID是自增长的Long类型private String name;// 省略其他属性、构造函数、getter和setter方法
}

2、Mapper接口:

@Mapper
public interface UserMapper {@Insert("INSERT INTO users (name) VALUES (#{name})")@Options(useGeneratedKeys = true, keyProperty = "id")void insertUser(User user);
}

在上述代码中,当insertUser方法被调用时,插入操作执行后,MyBatis会自动将生成的ID回填到传入对象的id属性中。

确保MySQL表的ID列设置了自增属性,例如:

CREATE TABLE users (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(50),PRIMARY KEY (id)
);

这样,在插入记录后,MyBatis就会把生成的ID设置到User对象的id属性上。

注意

返回id赋值了user对象的id,不是insertUser函数的返回值。

相关文章:

  • 【宠粉赠书】科技图表绘制:R语言数据可视化
  • Cesium中实现SPH流体模拟
  • 虚拟现实环境下的远程教育和智能评估系统(十)
  • 微信小程序学习(八):behaviors代码复用
  • 字节跳动万卡集群网络分析
  • UniAudio 1.5:大型语言模型(LLMs)驱动的音频编解码器
  • 项目部署(前后端)
  • js文件导出功能
  • 2713. 矩阵中严格递增的单元格数
  • Ubuntu20.04环境下Baxter机器人开发环境搭建
  • 深度剖析整型和浮点型数据在内存中的存储(C语言)
  • LabVIEW电源适应能力检测系统
  • JDBC常见的几种连接池使用(C3P0、Druid、HikariCP 、DBCP)
  • 蓝牙解码芯片TD5161A,TWS蓝牙音箱芯片—拓达半导体
  • GPT4v和Gemini-Pro调用对比
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • conda常用的命令
  • ES6--对象的扩展
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • input实现文字超出省略号功能
  • JDK 6和JDK 7中的substring()方法
  • jQuery(一)
  • MySQL的数据类型
  • mysql中InnoDB引擎中页的概念
  • php面试题 汇集2
  • React系列之 Redux 架构模式
  • SpingCloudBus整合RabbitMQ
  • 反思总结然后整装待发
  • 后端_ThinkPHP5
  • 强力优化Rancher k8s中国区的使用体验
  • 学习Vue.js的五个小例子
  • 由插件封装引出的一丢丢思考
  • raise 与 raise ... from 的区别
  • zabbix3.2监控linux磁盘IO
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (1)bark-ml
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (PADS学习)第二章:原理图绘制 第一部分
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)ssm码农论坛 毕业设计 231126
  • (理论篇)httpmoudle和httphandler一览
  • (四)React组件、useState、组件样式
  • (轉貼) UML中文FAQ (OO) (UML)
  • *Django中的Ajax 纯js的书写样式1
  • .Net 4.0并行库实用性演练
  • .NET MVC第三章、三种传值方式
  • .Net 执行Linux下多行shell命令方法
  • .NET大文件上传知识整理
  • .NET关于 跳过SSL中遇到的问题
  • .NET设计模式(8):适配器模式(Adapter Pattern)