MyBatis+MySQL 返回插入的主键ID的方法

发布时间 - 2026-01-11 00:42:30    点击率:

需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。

方法:在mapper中指定keyProperty属性,示例如下:

<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User"> 
  insert into user(userName,password,comment) 
  values(#{userName},#{password},#{comment}) 
</insert> 

如上所示,我们在insert中指定了keyProperty=”userId”,其中userId代表插入的User对象的主键属性。

User.java

public class User { 
  private int userId; 
  private String userName; 
  private String password; 
  private String comment; 

  //setter and getter 
} 

UserDao.java

public interface UserDao {  
  public int insertAndGetId(User user);  
} 

测试:

User user = new User(); 
user.setUserName("chenzhou"); 
user.setPassword("xxxx"); 
user.setComment("测试插入数据返回主键功能"); 

System.out.println("插入前主键为:"+user.getUserId()); 
userDao.insertAndGetId(user);//插入操作 
System.out.println("插入后主键为:"+user.getUserId()); 

输出:

插入前主键为:0 
插入后主键为:15 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# mybatis  # 返回主键  # mysql  # 主键  # 返回主键id  # Mybatis批量插入返回插入成功后的主键id操作  # 详解mybatis插入数据后返回自增主键ID的问题  # mybatis新增save结束后自动返回主键id详解  # Mybatis批量插入并返回主键id的方法  # Mybatis执行插入语句后并返回主键ID问题  # mybatis插入后返回主键id的3种方式图解  # mybatis插入数据不返回主键id的可能原因及解决方式  # mybatis插入数据后返回自增主键ID的两种实现方式  # Mybatis新增数据并返回主键id的两种方法实现  # 所示  # 定了  # 数据库中  # 大家多多  # userId  # parameterType  # useGeneratedKeys  # true  # chenzhou  # gt  # User 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Laravel如何生成API文档?(Swagger/OpenAPI教程)  如何用景安虚拟主机手机版绑定域名建站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  详解MySQL数据库的安装与密码配置  网站制作价目表怎么做,珍爱网婚介费用多少?  MySQL查询结果复制到新表的方法(更新、插入)  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  微信小程序 HTTPS报错整理常见问题及解决方案  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  如何基于云服务器快速搭建网站及云盘系统?  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  教你用AI将一段旋律扩展成一首完整的曲子  详解Android中Activity的四大启动模式实验简述  Laravel如何保护应用免受CSRF攻击?(原理和示例)  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何解决hover在ie6中的兼容性问题  如何为不同团队 ID 动态生成多个独立按钮  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Linux系统命令中screen命令详解  免费网站制作appp,免费制作app哪个平台好?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  香港服务器部署网站为何提示未备案?  如何实现建站之星域名转发设置?  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  制作公司内部网站有哪些,内网如何建网站?  Laravel如何集成Inertia.js与Vue/React?(安装配置)  韩国服务器如何优化跨境访问实现高效连接?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何快速搭建支持数据库操作的智能建站平台?  Laravel如何实现用户密码重置功能?(完整流程代码)  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  如何快速搭建FTP站点实现文件共享?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  原生JS实现图片轮播切换效果  Laravel如何处理文件下载请求?(Response示例)  在centOS 7安装mysql 5.7的详细教程  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?