mybatis插入后返回主键id的3种方式图解

 更新时间:2023年08月05日 14:13:37   作者:lsl_hope_haniel  
这篇文章主要给大家介绍了关于mybatis插入后返回主键id的3种方式,很多时候,在向数据库插入数据时,需要保留插入数据的,以便进行后续的操作或者将存入其他表作为外键,需要的朋友可以参考下

第一种:在xml文件,insert标签属性中,添加useGeneratedKeys和keyProperty,如图

第二种:在xml文件,添加selectKey标签属性,各个属性值含义:resultType:查询结果的类型;keyProperty:把查询的值赋给谁;order:在插入前还是后执行,id在insert语句插入之后才会生成id,所以要在插入之后执行,所以此处order=after;

第三种:在dao层用注解的方式,用@SelectKey注解,里面属性含义:resultType:查询结果的类型,keyProperty:把查询的值赋给谁;  statement:查找最后一个插入的id;  keyColumn:查询的是哪一列;  before:是否在插入之前执行,  id在insert语句插入之后才会生成id,所以要在插入之后执行,所以此处before=false;

最后解释一下“select last_insert_id()”这条语句,它是配合插入语句一块只用的,在insert语句执行成功后可以返回新增数据的id,如图所示:

 总结

到此这篇关于mybatis插入后返回主键id的3种方式的文章就介绍到这了,更多相关mybatis插入后返回主键id内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot整合SpringSecurity认证与授权

    SpringBoot整合SpringSecurity认证与授权

    在项目开发中,权限认证是很重要的,尤其是一些管理类的系统,对于权限要求更为严格,本文主要介绍了SpringBoot整合SpringSecurity认证与授权,感兴趣的可以了解一下
    2023-11-11
  • JAVA多线程之中断机制stop()、interrupted()、isInterrupted()

    JAVA多线程之中断机制stop()、interrupted()、isInterrupted()

    这篇文章主要介绍了JAVA多线程之中断机制stop()、interrupted()、isInterrupted()的相关资料,需要的朋友可以参考下
    2016-05-05
  • Mybatis Generator具体使用小技巧

    Mybatis Generator具体使用小技巧

    本文主要介绍了Mybatis Generator具体使用小技巧,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 使用java + OpenCV破解顶象面积验证码的示例

    使用java + OpenCV破解顶象面积验证码的示例

    这篇文章主要介绍了使用java + OpenCV破解顶象面积验证码的示例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • idea中service或者mapper引入报红的问题及解决

    idea中service或者mapper引入报红的问题及解决

    在使用IntelliJ IDEA开发SpringBoot项目时,有时会遇到Service或Mapper接口引入时报红但不影响项目运行的情况,这主要是因为IDEA的检查级别设置问题,解决方法是将有问题的Error级别改为编译通过的安全级别,即可消除报红
    2024-09-09
  • Android读取本地或网络图片并转换为Bitmap

    Android读取本地或网络图片并转换为Bitmap

    这篇文章主要为大家详细介绍了Android读取本地或网络图片,并转换为Bitmap,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Java面向对象基础知识之委托和lambda

    Java面向对象基础知识之委托和lambda

    这篇文章主要介绍了Java面向对象的之委托和 lambda,文中有非常详细的代码示例,对正在学习java基础的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-11-11
  • 使用Spring和Redis创建处理敏感数据的服务的示例代码

    使用Spring和Redis创建处理敏感数据的服务的示例代码

    许多公司处理的用户敏感数据由于法律限制不能永久存储,根据规定,这些数据的存储时间不能超过预设期限,并且最好在用于服务目的之后就将其删除,解决这个问题有多种可能的方案,在本文中,我想展示一个利用 Spring 和 Redis 处理敏感数据的应用程序的简化示例
    2025-04-04
  • Spring中RedisTemplate的基本使用浅析

    Spring中RedisTemplate的基本使用浅析

    Spring Boot Data(数据) Redis中提供了RedisTemplate和StringRedisTemplate,其中StringRedisTemplate是RedisTemplate的子类,两个方法基本一致。本文介绍了Spring操作Redis的方法,需要的可以参考一下
    2023-02-02
  • MybatisPlus 自定义.vm模板的生成

    MybatisPlus 自定义.vm模板的生成

    为更加快捷方便的开发代码,使用MybatisPlus的代码自动生成功能,将一些繁琐的操作自动生成,本文主要介绍了MybatisPlus 自定义.vm模板的生成,感兴趣的可以了解一下
    2024-03-03

最新评论