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

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

以下是一个简单的示例:

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

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

2、Mapper接口:

java 复制代码
@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列设置了自增属性,例如:

sql 复制代码
CREATE TABLE users (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(50),
  PRIMARY KEY (id)
);

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

注意

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

相关推荐
捂月43 分钟前
Spring Boot 深度解析:快速构建高效、现代化的 Web 应用程序
前端·spring boot·后端
打鱼又晒网1 小时前
【MySQL】数据库精细化讲解:内置函数知识穿透与深度学习解析
数据库·mysql
tatasix2 小时前
MySQL UPDATE语句执行链路解析
数据库·mysql
天海华兮2 小时前
mysql 去重 补全 取出重复 变量 函数 和存储过程
数据库·mysql
FIN技术铺3 小时前
Spring Boot框架Starter组件整理
java·spring boot·后端
小码的头发丝、3 小时前
Spring Boot 注解
java·spring boot
午觉千万别睡过3 小时前
RuoYI分页不准确问题解决
spring boot
2301_811274314 小时前
大数据基于Spring Boot的化妆品推荐系统的设计与实现
大数据·spring boot·后端
武子康4 小时前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql