Mybatis如果存在该条数据则修改,否则新增
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如果存在该条数据则修改,否则新增相关推荐
- 【SpringBoot项目中使用Mybatis批量插入百万条数据】
SpringBoot项目中使用Mybatis批量插入百万条数据 话不多说,直接上代码,测试原生批处理的效率 开始测试 背景:因为一些业务问题,需要做多数据源,多库批量查询.插入操作,所以就研究了一下. ...
- sql语句,执行,实现没有这条数据就新增,如有这条数据就修改
原 sql语句,执行,实现没有这条数据就新增,如有这条数据就修改 2019年09月18日 15:52:24 <span class="read-count">阅读数 5 ...
- java使用mybatis一次性插入多条数据
项目场景: java使用ibatis作为持久层框架时如何一次性插入多条数据 问题描述 正常插入一条数据的代码是这样的 mapper.insert(model) 问题分析: 这样单条插入是没有问题,问题 ...
- Mybatis+Oracle插入万条数据
最近工作中使用到批量删除,试了试网上的几种方法,下面三种方法都是插入2万条数据 使用oracle的insert all 特别注意:mysql默认接受sql的大小是1048576(1M),若数据量超过1 ...
- 公司新来个同事,MyBatis批量插入10w条数据仅用2秒,拍案叫绝!
批量插入功能是我们日常工作中比较常见的业务功能之一,今天咱们来一个 MyBatis 批量插入的汇总篇,同时对 3 种实现方法做一个性能测试,以及相应的原理分析. 先来简单说一下 3 种批量插入功能分别 ...
- 创建商品表中插入一条数据/图书表中新增一条记录/学生表中,要求查询姓张,并且年龄在18到25岁之间的学生/查询article文章表
在以上创建的商品表中插入一条数据:名称为"学生书包".价格18.91.库存101.描述为空 在图书表中新增一条记录:Java核心技术.作者"Cay S. Horstman ...
- 使用mybatis一次性添加多条数据 在oracle 数据库上
1.sql 语句 #sql 语句 insert into STD_XXXX (表名) (ID,NAME,CLASSNAME ) select STD_XXX_SEQUENCE.Nextval,(自增序 ...
- mybatis insert 插入多条数据
普通sql中insert插入多条 insert into 表名(字段名1,字段名2)values(值a1,值b1), (值a2,值b2), 例如: insert into user_info (use ...
- mysql修改100条数据_sql 修改前100条数据库
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- java sql 写入万条数据_如何快速向数据库插1000万数据?4种方法对比,它简单却速度最快
目录 场景介绍 项目配置 Mybatis为什么慢? JdbcTemplate让我眼前一亮 原生JDBC就是快啊! 存储过程怎么样? 越简单越快 前言 一直有一种说法:批量插入大量数据到MySQL数据库 ...
最新文章
- 提升网络安全 十大策略全面巩固企业内网
- 数据库acid实现原理(二)
- centos8上安装nginx
- mysql的每隔1分钟定时_简单易用,spring boot集成quartz,实现分布式定时任务
- CVPR 2019 | Adobe提出新型超分辨率方法:用神经网络迁移参照图像纹理
- 常见面试算法:回归、岭回归、局部加权回归
- Win32汇编——文件操作
- 头文件自包含是什么意思_女朋友发了一张这样的自拍给我,说想我了,她这是什么意思呢?...
- C语言也能干大事第十二节(如鹏基础)
- CentOS mysql配置主从复制
- 最小-最大搜索和Alpha-beta剪枝搜索
- swapidc不能连接到主机_kangle easypanel对接SWAP IDC虚拟主机销售平台完整教程 (linux)...
- 【数据结构】使用栈解决火车硬席(H)和软席(S)的调度问题
- 计算机考研数学考数学二的专业,考研常识:哪些专业考数学二?
- SynthWave '84 - VS Code theme小白安装教程
- 一名渗透工程师所必备的技能(一)
- 冬去春来,名悦集团分享的这些用车小知识你知多少
- opencv中文网站
- 全球与中国电梯张紧装置市场现状及未来发展趋势(2022)
- Android的5中主要的数据存储方式
热门文章
- DAOS ARM64调测之旅
- 各种手段终于将土豆视频url请求找到了
- 学习笔记-God-Linux
- 联想计算机BIOS启动顺序boot,联想电脑BIOS启动项如何设置U盘启动_联想电脑BIOS启动项设置U盘启动教程介绍...
- Arduino 使用 LCD1602 显示屏IIC驱动
- 华为ENSP进行evn实验,尚不完整,但已经有RT1、RT2、RT3、RT4了
- JavaScript工具函数(一)
- shiro+微信登录整合
- 初学JAVA项目(11、Ada银行-3)
- 固态硬盘是什么接口_小白指南:固态硬盘接口傻傻分不清,新手用户应该如何选?...