1.前景

今天接到Leader一个需求:数据保存时如果存在该数据则去更新,否则新增

2.思考

查看Mysql的文档知道存在一个函数,挺符合符合我现在的需求

on DUPLICATE key UPDATE

2.1:前提:
表数据必须有**【唯一主键】**,否则无法进行判断该数据是否唯一

2.2:语法

insert into t_wsdm_code(id,code_type,code,type_name)values(1,2,3,4) on DUPLICATE key UPDATE  type_name = #{参数}

根据语法写出如下Sql:

  insert into t_wsdm_code(id,code_type,type_name,code,code_name)values (#{id},#{codeType},#{typeName},#{code},#{codeName})<!-- 当主键(code_type、code)重复时,则去更新该条数据 -->on DUPLICATE key UPDATE<if test="typeName != null">`type_name` = #{typeName}, </if><if test="codeName != null">`code_name` = #{codeName} </if>

我这里【唯一主键】是:code code_type 两个字段

根据这种格式写好之后去执行,完美解决需求,故记录一下。

Mybatis如果存在该条数据则修改,否则新增相关推荐

  1. 【SpringBoot项目中使用Mybatis批量插入百万条数据】

    SpringBoot项目中使用Mybatis批量插入百万条数据 话不多说,直接上代码,测试原生批处理的效率 开始测试 背景:因为一些业务问题,需要做多数据源,多库批量查询.插入操作,所以就研究了一下. ...

  2. sql语句,执行,实现没有这条数据就新增,如有这条数据就修改

    原 sql语句,执行,实现没有这条数据就新增,如有这条数据就修改 2019年09月18日 15:52:24 <span class="read-count">阅读数 5 ...

  3. java使用mybatis一次性插入多条数据

    项目场景: java使用ibatis作为持久层框架时如何一次性插入多条数据 问题描述 正常插入一条数据的代码是这样的 mapper.insert(model) 问题分析: 这样单条插入是没有问题,问题 ...

  4. Mybatis+Oracle插入万条数据

    最近工作中使用到批量删除,试了试网上的几种方法,下面三种方法都是插入2万条数据 使用oracle的insert all 特别注意:mysql默认接受sql的大小是1048576(1M),若数据量超过1 ...

  5. 公司新来个同事,MyBatis批量插入10w条数据仅用2秒,拍案叫绝!

    批量插入功能是我们日常工作中比较常见的业务功能之一,今天咱们来一个 MyBatis 批量插入的汇总篇,同时对 3 种实现方法做一个性能测试,以及相应的原理分析. 先来简单说一下 3 种批量插入功能分别 ...

  6. 创建商品表中插入一条数据/图书表中新增一条记录/学生表中,要求查询姓张,并且年龄在18到25岁之间的学生/查询article文章表

    在以上创建的商品表中插入一条数据:名称为"学生书包".价格18.91.库存101.描述为空 在图书表中新增一条记录:Java核心技术.作者"Cay S. Horstman ...

  7. 使用mybatis一次性添加多条数据 在oracle 数据库上

    1.sql 语句 #sql 语句 insert into STD_XXXX (表名) (ID,NAME,CLASSNAME ) select STD_XXX_SEQUENCE.Nextval,(自增序 ...

  8. mybatis insert 插入多条数据

    普通sql中insert插入多条 insert into 表名(字段名1,字段名2)values(值a1,值b1), (值a2,值b2), 例如: insert into user_info (use ...

  9. mysql修改100条数据_sql 修改前100条数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  10. java sql 写入万条数据_如何快速向数据库插1000万数据?4种方法对比,它简单却速度最快

    目录 场景介绍 项目配置 Mybatis为什么慢? JdbcTemplate让我眼前一亮 原生JDBC就是快啊! 存储过程怎么样? 越简单越快 前言 一直有一种说法:批量插入大量数据到MySQL数据库 ...

最新文章

  1. 提升网络安全 十大策略全面巩固企业内网
  2. 数据库acid实现原理(二)
  3. centos8上安装nginx
  4. mysql的每隔1分钟定时_简单易用,spring boot集成quartz,实现分布式定时任务
  5. CVPR 2019 | Adobe提出新型超分辨率方法:用神经网络迁移参照图像纹理
  6. 常见面试算法:回归、岭回归、局部加权回归
  7. Win32汇编——文件操作
  8. 头文件自包含是什么意思_女朋友发了一张这样的自拍给我,说想我了,她这是什么意思呢?...
  9. C语言也能干大事第十二节(如鹏基础)
  10. CentOS mysql配置主从复制
  11. 最小-最大搜索和Alpha-beta剪枝搜索
  12. swapidc不能连接到主机_kangle easypanel对接SWAP IDC虚拟主机销售平台完整教程 (linux)...
  13. 【数据结构】使用栈解决火车硬席(H)和软席(S)的调度问题
  14. 计算机考研数学考数学二的专业,考研常识:哪些专业考数学二?
  15. SynthWave '84 - VS Code theme小白安装教程
  16. 一名渗透工程师所必备的技能(一)
  17. 冬去春来,名悦集团分享的这些用车小知识你知多少
  18. opencv中文网站
  19. 全球与中国电梯张紧装置市场现状及未来发展趋势(2022)
  20. Android的5中主要的数据存储方式

热门文章

  1. DAOS ARM64调测之旅
  2. 各种手段终于将土豆视频url请求找到了
  3. 学习笔记-God-Linux
  4. 联想计算机BIOS启动顺序boot,联想电脑BIOS启动项如何设置U盘启动_联想电脑BIOS启动项设置U盘启动教程介绍...
  5. Arduino 使用 LCD1602 显示屏IIC驱动
  6. 华为ENSP进行evn实验,尚不完整,但已经有RT1、RT2、RT3、RT4了
  7. JavaScript工具函数(一)
  8. shiro+微信登录整合
  9. 初学JAVA项目(11、Ada银行-3)
  10. 固态硬盘是什么接口_小白指南:固态硬盘接口傻傻分不清,新手用户应该如何选?...