凡科网建站系统源码,平面广告设计培训,二级学院网站建设方案,产品免费发布平台在Spring Boot项目中使用MyBatis和MySQL时#xff0c;若想在插入数据后返回生成的ID#xff0c;可以在Mapper接口的插入方法上使用Options注解#xff0c;并设置useGeneratedKeys属性为true#xff0c;同时指定keyProperty为实体类中对应ID的属性名。
以下是一个简单的示例…在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函数的返回值。