
Mybatis配置useGeneratedKeys=“true“ keyProperty=“id“的作用
发布日期:2025-04-14 06:45:16
浏览次数:10
分类:精选文章
本文共 581 字,大约阅读时间需要 1 分钟。
在配置MyBatis的mapper映射文件时,我们经常会看到如下代码段:
insert into payment(serial) values(#{serial});
这段代码的主要作用是向数据库表中插入新记录,并利用数据库的自增主键特性来获取主键值。默认情况下,如果未设置此类代码,主键字段会显示为null,这对于业务逻辑处理来说是不合理的。
关键配置信息:
useGeneratedKeys
属性
- 取值为true或false,默认值为false。
- 当取值为true时,会调用JDBC的
getGeneratedKeys
方法,获取数据库自增的主键值,并将其赋值给指定的属性(通过keyproperty
参数指定)。 - 取值为false时,主键值不会自动获取,需要手动设置。
keyProperty
属性
- 该属性指定了Java实体类中的属性名,该属性会被赋值为数据库自增主键的值。
- 需要注意的是,
keyproperty
的值是Java类中的属性名,而不是数据库表中的主键字段名。
使用说明:
在前端调用时,可以通过以下方式获取主键值:
userModel.setId(xx.getId());
通过配置上述代码段,可以确保在插入操作完成后,主键字段的值能够正确获取,从而避免了主键为null的情况。这对于保证数据一致性和业务逻辑的正确性至关重要。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年05月21日 12时04分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Mac + Anaconda 上的 Qt 设计器应用程序在哪里?
2025-04-11
Mac book air 重新安装系统验证显示 untrusted_cert_title
2025-04-11
mac elasticsearch brew安装填坑
2025-04-11
mac M1 下安装docker 及相关镜像
2025-04-11
Mac M1 安装 TensorFlow 使用Python3.8
2025-04-11
Mac M1 芯片不兼容node-sass
2025-04-11
MAC M1大数据0-1成神篇-25 hadoop高可用搭建
2025-04-11
Mac mini7.1 2014年末 安装单windows 10系统
2025-04-11
Mac mini7.1 2014年末系统损坏开机跳出闪动带问候文件夹
2025-04-11
mac node版本管理
2025-04-11
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
2025-04-11
Mac OS X 上 Python 的框架和非框架构建之间的差异
2025-04-11
Mac OS X下Sublime Text (V2.0.1)破解
2025-04-11
Mac OS X汇编语言常识
2025-04-11
Mac os 如何安装SVN
2025-04-11
Mac OS下错误The superclass “javax.servlet.http.HttpServlet“ was not found on the Java Build Path的解决方法
2025-04-11
Mac os如何安装绿盾客户端
2025-04-11
mac xmind 激活
2025-04-11