使用groovy Sql批量插入?

2024-01-09

如何在模拟准备好的语句时使用 groovy Sql 进行批量插入?我发现的所有示例都与以下类似,并且不使用准备好的语句。

withBatch  { stmt ->
stmt.addBatch("insert into table (field1,field2) values('value1','value2')")
stmt.addBatch("insert into table (field1,field2) values('value3','value4')")
}

根据这个链接https://issues.apache.org/jira/browse/GROOVY-3504 https://issues.apache.org/jira/browse/GROOVY-3504无法直接在批处理中使用准备好的语句。模拟这个的最佳方法是什么,这样我就可以避免编写自己的代码来避免 SQL 注入?


Groovy 1.8.1 引入了对带有批处理的准备好的语句的支持。简单的例子:

sql.withBatch(20, """update some_table 
                        set some_column = :newvalue 
                      where id = :key """) { ps ->                 
          mymap.each { k,v ->
              ps.addBatch(key:k, newvalue:v)
          }
}

另请参阅我关于该主题的帖子:http://novyden.blogspot.com/2011/09/groovy-batch-prepared-statement-nice.html http://novyden.blogspot.com/2011/09/groovy-batch-prepared-statement-nice.html

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

使用groovy Sql批量插入? 的相关文章

  • 如何在 Gradle 中使用 if else 条件

    有人可以告诉我如何在 gradle 脚本中编写 if else 条件吗 我的意思是我有两种不同类型的 zip 文件 一种是 LiceseGenerator 4 0 0 58 另一种是 CLI 4 0 0 60 我的部署脚本工作正常 但我使用
  • 不带破折号的 CliBuilder 参数

    使用 Groovy CliBuilder 理想情况下我希望有一个命令行 如下所示 MyProgram groovy CommandName arg1 arg2 arg3 是否可以使用 CliBuilder 解析提取 CommandName
  • Java 日期和 MySQL 时间戳时区

    我正在编辑一段代码 其基本功能是 timestamp new Date 然后坚持下去timestamp中的变量TIMESTAMPMySQL 表列 然而 通过调试我看到Date显示在正确时区的对象 GMT 1 当持久化在数据库上时 它是GMT
  • 如何通过groovy动态更新ReadyAPI/SoapUI中的Resource值?

    我的资源采用这种格式 testing 101 getCustomer 99 这里我需要通过 groovy 动态更改 101 和 99 部分 以便我可以在同一测试用例中运行多个值 我研究了 ReadyAPI 的内置功能 但没有那么有帮助 我也
  • 更改 Grails 的 Groovy 版本

    如何将 Grails 1 3 7 使用的 groovy 版本更改为 groovy 1 7 9 我在 Grails 1 3 7 应用程序中遇到这个问题 其中 Quartz 进程每分钟都会实例化大约 500 个新对象 如下所示 class Fo
  • Spring Batch-如何将文件本身作为项目处理?

    我是春季批量开发的新手 我有以下要求 将有一个带有 zip 文件的 s3 源 每个 zip 文件将包含多个 pdf 文件和 xml 文件 例如 100 个 pdf 和 100 个 xml 文件 xml 文件将包含有关 pdf 的数据 Bat
  • 用户“root”@“localhost”的访问被拒绝

    我正在尝试从数据库中获取记录 但我面临这个访问被拒绝的问题 我尝试了 Stack Overflow 上提到的其他解决方案 例如向用户授予权限 但没有任何效果 访问数据库的代码 public void service HttpServletR
  • 在 Groovy 中分配对象属性的简写方法?

    我使用此约定创建 Groovy 对象 Item item1 new Item name foo weight 150 是否有操作属性对象的速记约定 像这样的东西 item1 name hello weight 175 this does n
  • SQL Server 2000 JDBC 驱动程序

    我试图找到 SQL SERVER 2000 JDBC 驱动程序 用于从 SQL SERVER 提取数据 并执行一些用 Java JSF 实现的操作 知道在哪里可以找到司机吗 毫不奇怪 Microsoft com MSDN 停止支持并因此提供
  • 为什么 Grails 要求我在控制器中使用“def”而不是“void”?

    采用以下控制器 package test class TestController static defaultAction test def test render test Why is test定义为def test 而不是类似的东西
  • Kafka JDBC Sink Connector,批量插入值

    我每秒收到很多消息 通过 http 协议 50000 100000 并希望将它们保存到 PostgreSql 我决定使用 Kafka JDBC Sink 来实现此目的 消息以一条记录保存到数据库 而不是批量保存 我想在 PostgreSQL
  • Play Framework:使用 H2 内存数据库获取序列 nextval 时出错

    正如标题所示 我在内存中使用 FakeApplication w H2 运行 Play 2 0 1 测试时遇到错误 我设置了一个基本的单元测试 public class ModelTest Test public void checkTha
  • Spring boot JDBC无法连接docker容器中的mysql

    我正在尝试在两个单独的 docker 容器中运行 spring boot 应用程序 作为简单的 REST api 和 mysql 服务器 但是 我无法在 Spring 应用程序中获取 jdbc 连接来连接 mysql 它们都是独立工作的 当
  • 从 url 中删除域的最佳方法

    我必须从中删除域的网址 您是否知道在不使用以下内容的情况下实现这一目标的更好方法 def 示例 decodeUrl replace http www espn com http www espn com Thanks 使用 java net
  • Glassfish 4 - JDBC 领域

    Glassfish 4 中的密码加密算法和摘要算法有什么区别 因为Password加密算法不能为空 所以我使用了MD5 Encoding使用了Hex 摘要算法为空 因此默认为 SHA 256 但是 如果我使用 JAAS 制作一个简单的登录应
  • 如何使用 SparkR 1.6.0 写入 JDBC 源?

    使用 SparkR 1 6 0 我可以使用以下代码从 JDBC 源读取数据 jdbc url lt jdbc mysql localhost 3306 dashboard user
  • JDBC中的DriverManager概念是基于provider设计模式的吗

    在 JDBC 中我们使用 Class forName com microsoft sqlserver jdbc SQLServerDriver newInstance 方法将对象加载到内存中 然后 当我们使用 DriverManager 类
  • 如何在 Gradle 中创建路径 jar

    在 Windows 环境中运行 groovyc 时 在我的情况下 由于类路径的长度 我遇到了问题 我想通过创建一个路径 jar 来解决这个问题 然后将该 jar 放在 cp 上 如何创建一个包含在 gradle 中自动指定的所有类路径条目的
  • JDBC插入实数数组

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是

随机推荐

  • org.hibernate.QueryParameterException:无法找到命名参数

    我的项目设置是 Spring MVC Hibernate 3 2 x MySQL DB 出现以下错误 org hibernate QueryParameterException 无法找到命名参数电子邮件 方法 1 Override publ
  • 通过 IntelliJ IDEA 13 部署的 Tomcat war 返回错误

    我在 IntelliJ 中部署第一个 WAR 文件时遇到以下错误 据推测 这是一个本地问题 因为这只是我们部署来测试我们的设置的 WAR 文件 所有 80 个 Maven 测试都通过了 但是当我浏览到 Web 应用程序时 出现以下错误 ja
  • 在 Linux 中获取指向结构设备的指针哪种更干净?

    我需要获得一个指向在linux 中注册的特定设备的指针 简而言之 该设备代表了mii bus目的 问题是这个设备似乎不属于总线 它的dev gt bus is NULL 所以我不能使用这个函数bus for each dev 然而 该设备是
  • PHP中从JSON中随机选择项目

    我有一个像这样的 JSON 字符串 Format I25 Content 172284201241 Format I25 Content 40124139 Format I25 Content 20197086185689 Format I
  • 如何在 mvc 站点的类项目部分中初始化 Ninject

    我在一个小项目中使用了 Ninject 但现在正在将一个较大的 Web 应用程序转换为 MVC 并且需要使用 Ninject 的帮助 在新的解决方案中 我拥有 mvc 站点 并将一些功能拆分为单独的类项目 例如我的 ReportGenera
  • 无法解析主机名 git:提供节点名或服务名,或未知

    我尝试做git pull rebase我收到以下错误 ssh Could not resolve hostname git nodename nor servname provided or not known fatal Could no
  • 为什么部分与页面高度不匹配?

    我正在编写一个报告 该报告需要附加到另一个报告以生成更大的报告 因此它只有标题 页脚和摘要部分 问题是我遇到编译错误 但我不知道原因 这是我的jrxml文件 包含的部分 为简洁起见省略
  • stopPropgation 是否会阻止事件在捕获阶段传播?

    我在看http www quirksmode org js events order html http www quirksmode org js events order html这部分含糊不清 在 Microsoft 模型中 您必须设
  • python中的打印函数对可以打印的字符串长度有限制吗?

    我正在尝试打印一个大字符串 它的大小为 100 Mb 并且需要一次完成 看起来它正在被截断 虽然这不能回答您的问题 但用于移动大量数据print可能是一个坏主意 print is meant用于简短的信息打印输出 它提供了您在移动大数据时通
  • Kotlin / Android Studio - 如何将变量从覆盖 fun 传递到应用程序的其余部分?

    我环顾四周 没有找到解决我的问题的好答案 在我的应用程序上 我有一个计时器 该计时器在单击后停止 我想根据剩余时间计算分数 我可以使用 millisUntilFinished 来计算分数 但我无法在我的应用程序中重用分数变量 您能帮我找到正
  • 限时试用和 Windows 认证

    如果您想对某个应用程序实施限时试用 您可能需要留下一些标志 注册表项 文件等 这样程序就不能被重新安装 是否有任何方案可以让您在完成此操作的同时仍然通过各种 Windows 认证计划 一般来说 申请必须正确 完整 从机器上卸载 这 包括删除
  • ffmpeg - 生成 moov 原子

    我目前正在使用blackmagic的prorecorder录制视频 我使用 ffmpeg 将视频即时转码为 mp4 视频容器 持续时间未知 因为我正在对 prorecorder 输出到命名管道的 ts 进行转码 我的目标是尝试使用浏览器播放
  • 如何在spark中合并两个预排序的rdd?

    我有两个大型 csv 文件 按其中一列进行了预排序 有没有办法利用它们已经排序的事实来更快地获得新的排序 RDD 而无需再次完全排序 简短的回答 不 在使用 Apache Spark 提供的排序工具时 无法利用两个输入 RDD 已经排序的事
  • jqgrid加载大数据集而不分页

    我想知道是否有更好的方法从服务器加载大型 Json 数据集 我使用 jqgrid 作为 loadonce true 我需要一次加载大约 1500 条记录 而且我不使用分页选项 有没有更好的方法来实现这一目标 先感谢您 这是我的网格代码 fu
  • 谷歌表格中填充谷歌表格的平均持续时间

    我有一个从谷歌表单自动填充的谷歌工作表 有一个包含持续时间的列 当我尝试平均这些持续时间时 我得到除以零的错误 我尝试更改单元格格式 但没有任何效果 事实上 无论我选择什么格式 它都不会改变 我认为格式是根据填充工作表的表单来锁定的 对于获
  • 将进程发送到后台并将控制权返回到我的 shell

    我正在为我的 CS 类编写一个 shell 并且该项目的一部分涉及如果用户传入 字符 则在后台运行一个进程 如果一个进程在前台运行 我只需execvp该进程并且它仍然控制着终端 因为它位于前台 但是 如果它是后台进程 我必须在开始执行进程后
  • 无法将函数的数组结果分配给数组

    我正在尝试将函数的数组结果分配给数组 如果我尝试将结果数组的一个元素分配给我的数组 它工作正常 但在尝试将整个结果数组分配给我的数组时它会返回错误 无法分配给数组 Sub test Dim lol 6 as Double lol Hehe2
  • 将存储过程传递给 sp_send_dbmail

    我在 SQL Server 2008 中使用 sp send dbmail 发送查询结果 我将查询移动到一个过程中 并尝试在 sp send dbmail 过程中使用该过程 如下所示 EXEC msdb dbo sp send dbmail
  • 如何为 Foundation 的 Orbit 图像滑块预加载图像?

    使用Zurb的Foundation 4 1 5 最新版本 轨道图像滑块 http foundation zurb com docs components orbit html效果很好 不幸的是 在最初的几秒钟里 所有图像都显示为一个巨大的项
  • 使用groovy Sql批量插入?

    如何在模拟准备好的语句时使用 groovy Sql 进行批量插入 我发现的所有示例都与以下类似 并且不使用准备好的语句 withBatch stmt gt stmt addBatch insert into table field1 fie