mybatis 注解的方式批量插入,更新数据

2023-11-02

一,当向数据表中插入一条数据时,一般先检查该数据是否已经存在,如果存在更新,不存在则新增  使用关键字  ON DUPLICATE KEY UPDATE     

zk_device_id为主键

model     PushBindRecord

 

二,批量查询 使用List

三,查询数据表一列中不重复的内容 使用关键字  distinct

四, 使用map批量插入,或者更新

当使用map批量插入或者更新的时候,要在链接数据库的地址上配置  allowMultiQueries=true  或者会报sqlexception异常。

测试用例:

 

五,查询时判断查询条件是否存在if判断:

 

 注意当if判断的字段传入参数是integer类型时,if判断中and后面判断为空的另一个条件要去掉,否则当integer类型没有默认值的时候是不为空,if判断会出问题。

 

 

 

有问题请留言!

转载于:https://www.cnblogs.com/dakewang/p/8268744.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mybatis 注解的方式批量插入,更新数据 的相关文章

  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • Grails 3.x bootRun 失败

    我正在尝试在 grails 3 1 11 中运行一个项目 但出现错误 失败 构建失败并出现异常 什么地方出了错 任务 bootRun 执行失败 进程 命令 C Program Files Java jdk1 8 0 111 bin java
  • 如何使用 Java 和 Selenium WebDriver 在 C 目录中创建文件夹并需要将屏幕截图保存在该目录中?

    目前正在与硒网络驱动程序和代码Java 我有一种情况 我需要在 C 目录中创建一个文件夹 并在该文件夹中创建我通过 selenium Web 驱动程序代码拍摄的屏幕截图 它需要存储在带有时间戳的文件夹中 如果我每天按计划运行脚本 所有屏幕截
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • vulhub打靶第二周

    第二周 信息收集 主机发现 arping 和arp scan 都可以使用 arping 在大多Linux 发行版都默认包含 但是arping无法扫一个网段 可以用shell脚本补足这个缺陷 for i in seq 1 254 do sud
  • nginx 握手失败SSL_do_handshake() failed (SSL: error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no share...

    SSL do handshake failed SSL error 1408A0C1 SSL routines SSL3 GET CLIENT HELLO no shared cipher 因为nginx不支持客户端的算法套件 1 可更新n
  • Python 数据采集-爬取学校官网新闻标题与链接(进阶)

    Python 爬虫爬取学校官网新闻标题与链接 进阶 前言 一 拼接路径 二 存储 三 读取翻页数据 四 完整代码展示 五 小结 前言 本文基于学校的课程内容进行总结 所爬取的数据均为学习使用 请勿用于其他用途 准备工作 爬取地址 https
  • mysql bitmap redis_Redis 中 BitMap 的使用场景

    BitMap 原本的含义是用一个比特位来映射某个元素的状态 由于一个比特位只能表示 0 和 1 两种状态 所以 BitMap 能映射的状态有限 但是使用比特位的优势是能大量的节省内存空间 在 Redis 中 可以把 Bitmaps 想象成一
  • C语言文件操作之fgets()

    来说一说fgets 函数 原型 char fgets char s int n FILE stream 参数 s 字符型指针 指向存储读入数据的缓冲区的地址 n 从流中读入n 1个字符 stream 指向读取的流 返回值 1 当n lt 0
  • 2023华为OD机试真题Python实现【食堂供餐/二分法】

    题目内容 某公司员工食堂以盒饭方式供餐 为将员工取餐排队时间降低为0 食堂的供餐速度必须要足够快 现在需要根据以往员工取餐的统计信息 计算出一个刚好能达成排队时间为0的最低供餐速度 即 食堂在每个单位时间内必须至少做出多少份盒饭才能满足要求
  • 使用easyExcel导入大批量数据

    常用来导入excel的工具有poi 但笔者实测中发现 poi导入的excel数据少于5000条时是没有任何问题的 当导入excel里的数据大于5000条时 内存会被占满 从而导致解析错误 导入失败 这种情况俗称 OOM Out Of Mem
  • 震撼!国产自研多环境开发软件 CEC-IDE 问世!遥遥领先!!

    程序员的成长之路 互联网 程序员 技术 资料共享 关注 阅读本文大概需要 2 8 分钟 来自 网络 侵删 震撼到了 厉害 继国产自研浏览器 国产自研操作系统 国产自研手机系统后的全新力作 国产自研 IDE 它就是 CEC IDE 一款由数字
  • Scanvenger游戏制作笔记(一)Unity3D状态机转换

    Scanvenger游戏制作笔记 一 Unity3D状态机转换 前言 一 打开Controller 二 选择 Parameters 创建新的trigger 三 选择状态转换线 四 返回到原状态 选择返回的剪头 系列链接 前言 本文章是我学习
  • 使用yum 源安装nginx

    执行以下命令 添加Nginx到yum源 sudo rpm Uvh http nginx org packages centos 7 noarch RPMS nginx release centos 7 0 el7 ngx noarch rp
  • 树模型-决策树

    树模型 1 决策树 ID3 C4 5 CART 2 随机森林RF 3 Adaboost 4 GBDT 5 XGboost 6 孤立森林 异常检测 一 决策树 决策树是一种基本的分类和回归方法 用于分类主要借助每一个叶子节点对应一种属性判定
  • torchtext 教程 超详细

    torchtext 教程超详细 https www jianshu com p da3a5d5ed2ba
  • 数字电路实验(02)小规模组合逻辑电路实验1:交通灯状态

    数字电路实验 02 小规模组合逻辑电路实验1 交通灯状态 2020 5 11 一 实验要求 1 1 实验目的 1 认识解决实际组合逻辑问题的一般方法和过程 2 熟悉基本逻辑门的使用 1 2 实验器材 1 2输入与门 2 3输入与门 3 4输
  • Java用类实现结构体的功能

    我们都知道C C 里面的结构体在储存数据的时候很方便 但是在Java中没有Struct 但是我们可以用类来实现Struct的功能 与Struct声明功能一样的类的定义 public class platform private int x
  • C++类模板特化全总结

    基础模板一 template
  • CTR预估的几种方式

    1 CTR预估 CTR预估是计算广告中最核心的算法之一 那么CTR预估是指什么呢 简单来说 CTR预估是对每次广告的点击情况做出预测 预测用户是点击还是不点击 具体定义可以参考 CTR CTR预估和很多因素相关 比如历史点击率 广告位置 时
  • 解决unity5.6之前打包的apk在android8.0真机上运行黑屏的bug

    我的项目使用unity5 4 1开发 在Android8 0的时候启动会出现黑屏 同时发现日志中有这一句日志Unable to query for permission Fragment null must be a public stat
  • Spring事务当中propagation=“REQUIRED“和PROPAGATION=“REQUIRES_NEW“的区别

    3 propagation REQUIRED 和PROPAGATION REQUIRES NEW 的区别 官方 PROPAGATION REQUIRED 支持当前事务 如果当前没有事务 就新建一个事务 这是最常见的选择 PROPAGATIO
  • Flink从入门到真香(17、使用flink table api 输出到文件和kafka)

    对于流式查询 需要声明如何在表和外部连接器之间进行转换与外部系统交换的消息类型 由更新模式 update model 指定 下面3种 能使用那种模式取决于输出的目标 比如如果输出到文件你就没法用更新和撤回模式 因为不知道 只能追加 但是如果
  • mybatis 注解的方式批量插入,更新数据

    一 当向数据表中插入一条数据时 一般先检查该数据是否已经存在 如果存在更新 不存在则新增 使用关键字 ON DUPLICATE KEY UPDATE zk device id为主键 model PushBindRecord 二 批量查询 使