Mybatis使用on duplicate key update的实现操作

 更新时间:2023年07月24日 10:02:19   作者:保加利亚的风  
本文主要介绍了Mybatis使用on duplicate key update的实现操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

这篇文章我们来讲一下on duplicate key update怎么使用

在mysql中,如果插入语句后面加上on duplicate key update,那么插入行的数据表中的数据主键或者唯一索引出现重复就更新,不重复则插入

我们现在来模拟一下这种情况。

我们现在有一张student表

我们给姓名和手机号添加了唯一索引

接下来我们的思路是:我们添加数据的时候,每个人的姓名和手机号是唯一的,如果有重复的姓名或者手机号那么就不会添加新的内容,而是在原有的数据上进行更新

来看一下我们的sql语句

我们来测试一下

 可以看到我们添加成功,那么我们再次添加,手机号和姓名不变,我们把地址改一下

可以看到姓名和手机号相同的话就会更新数据,那么为什么输出的是两行数据呢?我们在添加一条新的数据

可以看到,7完了以后直接变成9了。

实际上是用了两部操作,第一次插入的时候id变成8了,然后发现唯一索引上有值,后续改为更新操作,将地址更新到id=7上所以下次添加的时候,8已经有了,但是没有添加成功,实际上是存在的,所以就直接递增

到此这篇关于Mybatis使用on duplicate key update的实现操作的文章就介绍到这了,更多相关Mybatis on duplicate key update内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot 注解 @AutoConfiguration 在 2.7 版本中被新增的使用方法详解

    SpringBoot 注解 @AutoConfiguration 在 2.7 版本中被新增的使用方法详解

    这篇文章主要介绍了SpringBoot 注解 @AutoConfiguration 在 2.7 版本中被新增(使用方法),本文给大家介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • Java中spring读取配置文件的几种方法示例

    Java中spring读取配置文件的几种方法示例

    本篇文章中主要介绍了Java中spring读取配置文件的几种方法示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-02-02
  • 用3个实例从原理到实战讲清楚Log4j史诗级漏洞

    用3个实例从原理到实战讲清楚Log4j史诗级漏洞

    最近应该很多人都在关注着一个漏洞Apache Log4j 2远程代码执行,该漏洞一旦被攻击者利用会造成严重危害,这篇文章主要给大家介绍了关于如何用3个实例从原理到实战讲清楚Log4j史诗级漏洞的相关资料,需要的朋友可以参考下
    2021-12-12
  • MyBatisPlus中CRUD使用方法详解

    MyBatisPlus中CRUD使用方法详解

    通用CRUD封装,BaseMapper(opens new window)接口,为Mybatis-Plus启动时自动解析实体表关系映射转换为Mybatis内部对象注入容器
    2023-01-01
  • java分布式面试降级组件Hystrix的功能特性

    java分布式面试降级组件Hystrix的功能特性

    这篇文章主要为大家介绍了java分布式面试关于降级组件Hystrix的功能特性回答,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • springboot jasypt2.x与jasypt3.x的使用方式

    springboot jasypt2.x与jasypt3.x的使用方式

    在软件开发中,将配置文件中的敏感信息(如数据库密码)进行加密是保障安全的有效手段,jasypt框架提供了这一功能,支持通过加密工具类或命令行工具生成密文,并通过修改配置文件和启动参数的方式使用密文和密钥,这样即便配置文件被泄露
    2024-09-09
  • SVN出现提示org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir解决方案

    SVN出现提示org.apache.subversion.javahl.ClientException: Attempt

    这篇文章主要介绍了SVN出现提示org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir解决方案的相关资料,需要的朋友可以参考下
    2016-12-12
  • 一文搞懂Java中的序列化与反序列化

    一文搞懂Java中的序列化与反序列化

    序列化是将对象转换成二进制字节流的过程;反序列化是从二进制字节流中恢复对象的过程。文中降通过示例详解二者的使用与区别,需要的可以参考一下
    2022-08-08
  • SpringBoot 读取yml文件的多种方式汇总

    SpringBoot 读取yml文件的多种方式汇总

    这篇文章主要介绍了SpringBoot读取yml文件的几种方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • Java 合并多个MP4视频文件

    Java 合并多个MP4视频文件

    这篇文章主要介绍了Java 合并多个MP4视频文件的方法,帮助大家利用Java处理视频,提高办公效率,感兴趣的朋友可以了解下
    2020-11-11

最新评论