常见插入数据的SQL

  • insert into 插入数据库时会检查主键是否存在,存在会报错
  • replace into 替换数据库记录,需要表中有主键或者unique索引,如果数据库已存在的数据,会先删除该数据然后新增。不存在的数据效果和insert into 一样。
  <insert id="insertInfoBatch" parameterType="java.util.List">replace into GOVRECEIPTS (state,orgname,orgaddr,regauth,rcptyear,receipts,crtdate)values<foreach collection="list" item="item" index="index" separator=",">(#{item.state}, #{item.orgname}, #{item.orgaddr}, #{item.regauth},#{item.rcptyear}, #{item.receipts}, #{item.crtdate})</foreach></insert>
  • insert ignore 需要表中有主键或者unique索引,如果数据库中存在相同的数据,则忽略当前数据。不存在的数据效果和insert into 一样。
  <insert id="insertInfoBatch" parameterType="java.util.List">insert ignore GOVRECEIPTS (state,orgname,orgaddr,regauth,rcptyear,receipts,crtdate)values<foreach collection="list" item="item" index="index" separator=",">(#{item.state}, #{item.orgname}, #{item.orgaddr}, #{item.regauth},#{item.rcptyear}, #{item.receipts}, #{item.crtdate})</foreach>
  • on duplicate  key update 使用该语法可在插入记录的时候先判断记录是否存在,如果不存在则插入,否则更新,很方便,无需执行两条SQL

Mybatis 实现Mysql批量插入数据,判断数据是否存在相关推荐

  1. MySQL批量插入1000w条数据

    一.概述 在一些实际的测试.运维过程中,往往需要向数据库插入大量数据,利用存储过程是一个不错的选择 本次采用MySQL5.7,模拟实际批量插入1000w条随机数据 二.创建库 mysql -uroot ...

  2. Java mybatis实现mysql批量插入

    记录下来方便自己,同时也希望能对比较迷惑的小盆友有所帮助 1.把批量插入的数据生成一个List集合 2.用java控制一次插入的条数和集合 // 每次插入10条int len = count, inc ...

  3. mysql命令行批量添加数据_mysql命令行批量插入100条数据命令

    先介绍一个关键字的使用: delimiter 定好结束符为"$$",(定义的时候需要加上一个空格) 然后最后又定义为";", MYSQL的默认结束符为" ...

  4. mysql一次读取500条数据_mysql批量插入500条数据

    表格结构如下 需求name和password字段,生成如下格式: 总共批量生成500个. 解决思路:可以用mysql 存储过程 如果linux环境下可以用shell 我们先测试第一种,用存储过程.DE ...

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

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

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

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

  7. Mysql批量插入数据问题解决和优化

    Mysql批量插入数据问题解决和优化 一.问题描述 项目中mysql批量插入大概50000左右数据,使用事务和批量,但是速度依旧很慢,大约60s左右,迫切希望改进这个问题. 二.问题原因 尽管是批量a ...

  8. Mysql 批量插入大量数据的两种方案以及优缺点(分别是 5W 条数据和 10W 条数据)

    Mysql 批量插入(5W 条数据和 10W 条数据) 1.批量插入思路 一般是有两种不同的思路: 1.for 循环批量插入 2.生成一条 SQL 语句,比如 insert into user(id, ...

  9. mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法

    mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法 1.先查看库.表.表字符字段的编码格式.MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8 //先查看 ...

最新文章

  1. bzoj3786星系探索 splay
  2. IDC最新报告:阿里语音AI登顶中国No.1
  3. [java多线程] - 锁机制同步代码块信号量
  4. python中nomodulenamed怎么解决_关于 python ImportError: No module named 的问题
  5. 31.openssl编程——SSL实现
  6. Vuex——使用namespace的store使用mapState获取state为undefined
  7. kaggle上面的score以及ROC_AUC数值咋回事
  8. LeetCode 840. 矩阵中的幻方(数学)
  9. python普通类实现接口_python之面向对象(接口和抽象类)
  10. 大型网站技术架构(四)--网站的高性能架构(转)
  11. 新手必须要注意的编程范式
  12. linux下nginx和redis安装笔记
  13. 基于TILE-GX实现快速数据包处理框架-netlib实现分析
  14. mapbox基本使用
  15. linux c thread,Linux C 多线程
  16. 阿里面试官常问问题,TCP和UDP的区别,你真的弄懂了吗?
  17. 测试指令和位测试指令的用法-TEST
  18. 3D休闲游戏夺宝向前冲3D游戏源码H5+安卓+IOS三端源码
  19. 计算机二级选择题有几题上机呢,计算机二级考试的题型有哪些
  20. 3mysql优化之SQL语句调优

热门文章

  1. 2021 react学习资料
  2. woj1572 Cyy and Fzz KMP / AC自动机 + DP
  3. 硬件测试和软件测试的区别以及概念
  4. wincc按钮控制的vb脚本_VB操作wincc脚本心得
  5. 大话设计模式读书笔记
  6. HS光流法及其代码示例
  7. javaweb简化的医院管理系统
  8. Linux的mask什么意思中文,mask是什么意思
  9. 通过强化学习和官方API制作《星露谷物语》的自动钓鱼mod
  10. LiteOS 软件定时器