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

2023-11-17

项目场景:

 java使用ibatis作为持久层框架时如何一次性插入多条数据


问题描述

正常插入一条数据的代码是这样的

mapper.insert(model)

问题分析:

这样单条插入是没有问题,问题是遇到多条要连续插入数据的时候循环执行会占用很长的处理时间,要不停的和db连接断开。


解决方案:

首先在mapper中继承InsertListMapper,例如

import tk.mybatis.mapper.additional.insert.InsertListMapper;

public interface CardBookMapper extends Mapper<CardBook>, InsertListMapper<CardBook> {

    /**
     * 查询数据
     * @param paramMap
     * @return
     */
    List<CardBook> selectCardBookListByParam(@Param("paramMap") HashMap paramMap);
}

这样在使用mapper时就可以直接插入列表数据了

mapper.insertList(modelList)

当然还有另一种方式 ,就是将list数据传入的mybatis后,直接使用xml循环写法将数据插入

<insert id="addcardbook" parameterType="java.util.Arraylist">
    insert into cardbook(id,name,state,remark) values
        <foreach collection="list" item="obj" index="index" separator=",">
                  (#{obj.id},#{obj.name},#{obj.state},#{obj.remark})
        </foreach>
 </insert>

这种方式必须保证传入的参数类型要和db数据类型匹配。 

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

java使用mybatis一次性插入多条数据 的相关文章

  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • 如何在日期选择器中设置不在当前月份的单元格的样式

    我目前正在为我的 JavaFX 应用程序制作注册表 问题是 当日期选择器中的单元格不在页面的月份上时 我想让该单元格变灰 让我们看看我当前的日期选择器 我的日期选择器 正如您所看到的 我希望下个月的日期 27 日 28 日 30 日以及 1
  • 如何在 JFace 的 TableViewer 中创建复选框?

    我创建了一个包含两列的 tableViewer 我想将其中一列设为复选框 为此 我创建了一个 CheckBoxCellEditor 但我不知道为什么它不起作用 名为 tableName 的列显示其值正常 色谱柱规格如下 String COL
  • Android Studio 在编译时未检测到支持库

    由于 Android Studio 将成为 Android 开发的默认 IDE 因此我决定将现有项目迁移到 Android studio 中 项目结构似乎不同 我的项目中的文件夹层次结构如下 Complete Project gt idea
  • 解决错误:日志已在具有多个实例的atomikos中使用

    我仅在使用atomikos的实时服务器上遇到问题 在我的本地服务器上它工作得很好 我在服务器上面临的问题是 init 中出错 日志已在使用中 完整的异常堆栈跟踪 java lang RuntimeException Log already
  • java中删除字符串中的特殊字符?

    如何删除字符串中除 之外的特殊字符 现在我用 replaceAll w s 它删除了所有特殊字符 但我想保留 谁能告诉我我该怎么办 Use replaceAll w s 我所做的是将下划线和连字符添加到正则表达式中 我添加了一个 连字符之前
  • HDFS:使用 Java / Scala API 移动多个文件

    我需要使用 Java Scala 程序移动 HDFS 中对应于给定正则表达式的多个文件 例如 我必须移动所有名称为 xml从文件夹a到文件夹b 使用 shell 命令我可以使用以下命令 bin hdfs dfs mv a xml b 我可以
  • 请求位置更新参数

    这就是 requestLocationUpdates 的样子 我使用它的方式 requestLocationUpdates String provider long minTime float minDistance LocationLis
  • 迁移到 java 17 后有关“每个进程的内存映射”和 JVM 崩溃的 GC 警告

    我们正在将 java 8 应用程序迁移到 java 17 并将 GC 从G1GC to ZGC 我们的应用程序作为容器运行 这两个基础映像之间的唯一区别是 java 的版本 例如对于 java 17 版本 FROM ubuntu 20 04
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • 检查 protobuf 消息 - 如何按名称获取字段值?

    我似乎无法找到一种方法来验证 protobuf 消息中字段的值 而无需显式调用其 getter 我看到周围的例子使用Descriptors FieldDescriptor实例到达消息映射内部 但它们要么基于迭代器 要么由字段号驱动 一旦我有
  • 尝试使用 Ruby Java Bridge (RJB) gem 时出现错误“无法创建 Java VM”

    我正在尝试实现 Ruby Java Bridge RJB gem 来与 JVM 通信 以便我可以运行 Open NLP gem 我在 Windows 8 上安装并运行了 Java 所有迹象 至少我所知道的 都表明 Java 已安装并可运行
  • 使用 AWS Java SDK 为现有 S3 对象设置 Expires 标头

    我正在更新 Amazon S3 存储桶中的现有对象以设置一些元数据 我想设置 HTTPExpires每个对象的标头以更好地处理 HTTP 1 0 客户端 我们正在使用AWS Java SDK http aws amazon com sdkf
  • Java中未绑定通配符泛型的用途和要点是什么?

    我不明白未绑定通配符泛型有什么用 具有上限的绑定通配符泛型 stuff for Object item stuff System out println item Since PrintStream println 可以处理所有引用类型 通
  • 当单元格内的 JComboBox 中有 ItemEvent 时,如何获取 CellRow

    我有一个 JTable 其中有一列包含 JComboBox 我有一个附加到 JComboBox 的 ItemListener 它会根据任何更改进行操作 但是 ItemListener 没有获取更改的 ComboBox 所在行的方法 当组合框
  • Windows 上的 Nifi 命令

    在我当前的项目中 我一直在Windows操作系统上使用apache nifi 我已经提取了nifi 0 7 0 bin zip文件输入C 现在 当我跑步时 bin run nifi bat as 管理员我在命令行上看到以下消息 但无法运行
  • 如何配置eclipse以保持这种代码格式?

    以下代码来自 playframework 2 0 的示例 Display the dashboard public static Result index return ok dashboard render Project findInv
  • 将2-3-4树转换为红黑树

    我正在尝试将 2 3 4 树转换为 java 中的红黑树 但我无法弄清楚它 我将这两个基本类编写如下 以使问题简单明了 但不知道从这里到哪里去 public class TwoThreeFour
  • java迭代器内部是如何工作的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个员工列表 List
  • JAVA - 如何从扫描仪读取文件中检测到“\n”字符

    第一次海报 我在读取文本文件的扫描仪中读取返回字符时遇到问题 正在读取的文本文件如下所示 test txt start 2 0 30 30 1 1 90 30 0 test txt end 第一行 2 表示两个点 第二行 位置索引 0 xp

随机推荐

  • Limit

    Mysql limit用法 select from test LIMIT 3 当 limit后面跟一个参数的时候 该参数表示要取的数据的数量 表示直接取前三条数据 以下的两种方式均表示取2 3 4三条条数据 select from test
  • R语言深度学习:智能客服聊天机器人

    目录 一 准备工作 二 数据预处理 三 构建模型 1 准备训练数据 2 构建seq2seq模型
  • Ubuntu18.04安装docker及nvidia docker、NVIDIA Container Toolkit

    1 卸载旧版docker sudo apt get remove docker sudo apt get remove auto remove docker sudo apt remove docker ce 如果上面方法都不行直接 使用d
  • PID控制算法学习与Matlab仿真

    文章目录 起因 算法原理 算法解析 调参小技巧 Matlab仿真 起因 PID控制算法应该是包括工业机器人等各种行业和领域中非常常用的一种控制算法了 了解这个算法的起因是在稚晖君开发的自行车项目中见到 后来在北理工组会中了解到PID控制算法
  • ssrf漏洞描述

    ssrf是一种由攻击者构造请求 由服务端发起请求的安全漏洞 一般情况下 ssrf攻击的目标是外网无法访问的内部系统 ssrf漏洞原理 ssrf的形成大多是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制 例如 服务
  • 玄铁C910总览

    一 开源玄铁C910简介 玄铁C910是由平头哥设计并开源的高性能CPU 基于开源的RISC V指令集 主要面向对性能要求严格的边缘计算领域 如边缘服务器 边缘计算卡 高端机器视觉 高端视频监控 自动驾驶 移动智能终端 5G 基站等 玄铁C
  • SAP-ABAP-DOI技术的优化与说明

    SAP ABAP DOI技术的优化与说明 阅后感 不错的一篇文章 自己收藏下 顺带分享给众人 看完本文章后 大家也可以学习下 DOI 的API文档 当有需求直接下载本地时 可以应用CALL i oi document proxy的一个方法S
  • c# 访问共享文件夹 用户名或密码不正确 及 拒绝访问

    组策略 计算机配置 Windows设置 安全设置 本地策略 安全选项 网络访问 本地帐户的共享和安全模型 改为 经典 本地用户以自己身份验证 不改会出现用户名和密码错误 拒绝访问 安全里添加用户
  • day075:XML的约束:DTD约束文档、DTD约束文档的三种引入方法、DTD语法规则

    目录 一 DTD约束 1 什么是DTD约束 2 创建DTD约束文档的步骤 3 代码示例 4 引入DTD约束文档的三种方法 1 引入本地DTD约束文档 2 在xml文件内部引入 3 从网络引入dtd文件 二 DTD语法规则 DTD定义元素 标
  • CodeForces 1025C Plasticine zebra

    题目大意 题目链接 给定一个由w和b组成的字符串 可以操作任意次 每次操作 0次或多次 可以将字符串分割成左右两个子串 左 右侧子串均前后颠倒 问最终字符串中最多可以有多少个w和b交错 w和b无所谓顺序 题解 构造 比较好想 总述 当最左端
  • Stable-Diffusion-WebUI从代码下载到使用技巧

    一 写在前面 本文用于对AI绘画感兴趣但无计算机编程基础的人 包含本人安装和使用过程中的心得 可供新学者参考 心理准备 电脑性能越高越好 最好有高端显卡 如30系以上 低端显卡也可以 速度和质量感人就是 会要求下载一些软件 模型 涉及环境变
  • 判断一个点是否在圆内(三点确定一个圆)

    三角形的外接圆圆心是任意两边的垂直平分线的交点 三角形外接圆圆心叫外心
  • element的滚动去掉横向_textarea去掉滚动条 textarea横向或纵向滚动条的去掉方法

    在IE下文本框textarea会显示滚动条 如下 去掉textarea横向或纵向滚动条办法 可以通过overflow x hidden和overflow y hidden控制横向和纵向滚动条 要设置textarea文本域的滚动条是否开启 使
  • 30 个 Python 教程和技巧

    如果您让任何 Python 程序员讲述 Python 的优势 他会引用简洁和高可读性作为最有影响力的优势 在本 Python 教程中 我们将介绍许多基本的 Python 教程和技巧 这些技巧和技巧将验证上述两点 自从我开始使用 Python
  • 四年Android面试遇到的问题整理,算法太TM重要了

    何为成长 成长是指自我提升 一方面是本身的个人能力 另一方面是社会对你的认可度 最终 程序员的职位和薪水都能在成长中得以体现 很多人对成长有误解 在他们眼中 随着工作年限的提高 成长是理所当然的事情 这其实是一个误区 两个程序员同时工作3年
  • 解决大批量数据导出Excel产生内存溢出的方案

    相关文章 java操作Excel PDF文件 Java操作Excel之理解JXL 读取Excel Java操作Excel之理解JXL 读取Excel模板动态写入数据并生成Excel 推荐圈子 GT Grid 更多相关推荐 POI或者JXL在
  • l05173芯片针脚图_芯片引脚定义

    电源管理芯片引脚定义 1 AGND GND PGND 模拟地 地线 电源地 2 BOOT 次级驱动信号器过流保护输入端 3 COMP 电流补偿控制引脚 4 CT 定时电容 5 DRIVE cpu 外核场管驱动信号输出 6 FAULT 过耗指
  • Protues 8.7:i8086.DLL failed to create DSIM model

    如图所示 8086报错 解决一 换版本 如Protues 7 8 解决二 有的版本i8086 DLL文件不好用 使用这个 链接 https pan baidu com s 1eKniBmf7xJJHwPAxX8dQBg 提取码 8086 文
  • SpringBoot 文件下载功能 IE浏览器汉字乱码问题

    问题描述 今天在实现文件下载并指定文件名称时 遇到文件下载在Google 浏览器下载正常 指定文件名称汉字未乱码 但是在IE11 浏览器上 指定文件名称汉字乱码 问题产生原因 Chrome浏览器可以自动执行两次URL解码 所以下载的文件名是
  • java使用mybatis一次性插入多条数据

    项目场景 java使用ibatis作为持久层框架时如何一次性插入多条数据 问题描述 正常插入一条数据的代码是这样的 mapper insert model 问题分析 这样单条插入是没有问题 问题是遇到多条要连续插入数据的时候循环执行会占用很