mybatis配置获取自增主键的操作方法
mybatis配置获取自增主键
01 使用场景
- 当需要刚刚插入数据库的数据对应的新增主键时,通过配置xml文件,使数据库返回新增主键id,并把主键id与类参数对应
02 涉及配置
- 注解@TableId(type = IdType.AUTO):在类主键id通过配置实现插入数据库时主键自增
public class XzsQuestionsAnswerCreate {
@ApiModelProperty(value = "选项内容",required = true)
@NotBlank(message = "选项内容不能为空")
private String xzsOptionText;
@ApiModelProperty(value ="选项标题",required = true)
@NotBlank(message = "选项标题不能为空")
private String xzsOptionTitle;
@TableId(type = IdType.AUTO)
@ApiModelProperty("标准答案id")
private Long answerId;
}
- mapper(数据操作层):正常插入接口
int saveQuestionAnswer(@Param("questionId")Long questionId, @Param("list")List<XzsQuestionsAnswerCreate> XzsQuestionsAnswerCreate);
- 关键部分:配置MySQL插入数据对应的返回值
<insert id="saveQuestionAnswer" useGeneratedKeys="true" keyProperty="list.answerId" keyColumn="xzs_question_options_id">
INSERT INTO xzs_question_options (
xzs_question_id,
xzs_option_text,
xzs_option_title
)
VALUES
<foreach collection="list" item="option" open="(" separator="), (" close=")">
#{questionId},#{option.xzsOptionText}, #{option.xzsOptionTitle}
</foreach>
</insert>
03 关键部分使用
| 字段 | 作用 |
|---|---|
| useGeneratedKeyss=“true” | 开启主键自增返回设置 |
| keyProperty | 类属性 |
| keyColumn | 数据库字段 |
- keyProperty对应的是返回的自增主键对应的属性,list中answerId属性会在插入语句后被赋值
- mapper层函数中的返回值int,依旧是插入改变了多少行语句,不是自增主键
int saveQuestionAnswer(@Param("questionId")Long questionId, @Param("list")List<XzsQuestionsAnswerCreate> XzsQuestionsAnswerCreate);
keyColumn对应的是数据库中的字段
到此这篇关于mybatis配置获取自增主键的操作方法的文章就介绍到这了,更多相关mybatis获取自增主键内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springboot实现jar运行复制resources文件到指定的目录(思路详解)
这篇文章主要介绍了springboot实现jar运行复制resources文件到指定的目录,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-04-04
Java 编程如何使用 Class.forName() 加载类
在一些应用中,无法事先知道使用者将加载什么类,而必须让使用者指定类名称以加载类,可以使用 Class的静态forName()方法实现动态加载类,这篇文章主要介绍了Java编程如何使用Class.forName()加载类,需要的朋友可以参考下2022-06-06
springboot+thymeleaf整合阿里云OOS对象存储图片的实现
本文主要介绍了springboot+thymeleaf整合阿里云OOS对象存储图片的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-05-05
Java对象池pool2分析PooledObjectFactory过程
文章介绍了Java中对象池化技术的背景,以Apache的Pool2库为例,详细讲解了GenericObjectPool的构造函数参数和PooledObjectFactory接口的实现,通过商场里的共享充电宝的比喻,说明了池化思维的应用2025-02-02
SpringBoot读取Resource目录文件的五种常见方式
在Spring Boot开发中,我们经常需要读取src/main/resources目录下的文件,src/main/resources 目录下通常存放配置文件、模板、静态资源、SQL脚本等,本文给大家介绍了SpringBoot读取Resource目录文件的五种常见方式,需要的朋友可以参考下2025-07-07
使用Spring和Redis创建处理敏感数据的服务的示例代码
许多公司处理的用户敏感数据由于法律限制不能永久存储,根据规定,这些数据的存储时间不能超过预设期限,并且最好在用于服务目的之后就将其删除,解决这个问题有多种可能的方案,在本文中,我想展示一个利用 Spring 和 Redis 处理敏感数据的应用程序的简化示例2025-04-04


最新评论