问题标签 [groovy-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
146 浏览

mysql - 你怎么知道 GroovyStrings 什么时候没有被当作 Strings 对待?

在尝试修改 MySQL 数据库时,我在 Groovy 中遇到了一个令人困惑的问题。GroovyString除非 my显式转换为 a ,否则看似相同的代码会引发异常java.lang.String

抛出:

而以下工作没有问题:

这是令人惊讶的。我是否应该预料到这个问题,如果是这样,在什么情况GroovyStringString可能会被区别对待?

0 投票
2 回答
9737 浏览

groovy - 使用 sql 语句作为字符串变量的 Groovy Sql.execute() 不起作用

我试图通过将语句作为字符串变量而不是字符串文字传递来在 groovy 中执行 sql 语句。我使用字符串变量的原因是因为我正在从文件中读取 sql 语句。

例如(假设 sql 是 groovy.sql.Sql 的有效实例 - 我已经验证):

工作得很好。

但是,以下内容不会:

最后一个示例在我运行时挂起。没有 SQL 错误,它只是停止。我尝试在执行后放置一个 println,但它永远不会到达 println 语句。

所以,我尝试了以下变体:

乃至

出于好奇,但都给出以下错误:

诚然,我是 groovy 的新手,但我无法弄清楚为什么字符串文字有效但变量不会。在这里的任何帮助将不胜感激。如果需要更多信息,请告诉我。

另外,我从文件中获取单个 sql 语句的原因是因为我找不到使用 groovy 执行整个 .sql 文件的方法。如果有一种简单的方法可以做我还没有找到的事情,那也可以解决我的问题。提前致谢。

0 投票
2 回答
2089 浏览

groovy - Groovy,如何传入内联变量,即文件中的 ${variable} 语句?

我在 Groovy 中有一个有趣的问题。希望可以有人帮帮我。

基本上我使用的是 Groovy Sql。我需要在不同的数据库中选择多个表。我的第二个查询取决于其他查询,例如:"select * from table1-in-db1 where key = ${result-of-other-query1}. 如果我在函数中对其进行硬编码,Groovy 可以正常工作。但是,我的问题是 sql 是在 xml 文件中定义的,并且在我检索后作为字符串传递到函数中。它不再与内联变量交互,即使我确实result-of-other-query1在范围内调用了一个变量。

这是一段 sudo 代码:

有什么方法可以告诉 Groovy 替换内联变量,即使它是作为字符串传入的?

非常感谢您提前提供的帮助

0 投票
1 回答
172 浏览

sql - 使用参数化文本搜索准备 SQL 语句的正确方法

突然间,我意识到虽然这在 groovy 中可以正常工作,但就像预期的那样:

这行不通

你能得到的只有

执行失败:SELECT FROM ITEMS WHERE name LIKE '%?%' 因为:列索引超出范围:1,列数:0。

我的问题是:

  • 是故意这样实现的吗?我从来不需要参数化文本搜索,所以我不确定这种行为在哪里是典型的。
  • 尽管如此,我如何安全地参数化带有文本搜索的语句?
0 投票
1 回答
620 浏览

groovy - 过滤数据集时出现“AST 不可用”异常

我有以下常规程序-

我在打印语句中遇到异常。

例外不是很有帮助。这是什么意思?

0 投票
1 回答
740 浏览

groovy - Save or update in Groovy

Usually in Java I execute a SELECT statement and check the size of ResultSet. If it is zero I issue a INSERT and otherwise an UPDATE.

Since Groovy provides syntactic sugar on top of JDBC, I'm wondering if it provides a way to ease this process? Is there an easier way to save or update a record?

Note: I know that Hibernate offers this, but I'd rather stick only with Groovy API.

0 投票
2 回答
1355 浏览

groovy - 使用 groovy 将数据库表从一台服务器复制到另一台服务器

有没有一种简单的方法可以从一台服务器查询数据(从 table_abc 中选择 *)并将结果插入到另一台服务器(插入 table_abc)?两台服务器都在使用例如。db2、oracle 等以及包含各种数据类型的表(varchar、用于 bitdata 的 varchar、二进制 blob 等)

干杯 lza

0 投票
1 回答
49 浏览

groovy - Groovy SQL 子集合持久性

我有一个这样的类设置:

我想使用 groovy.sql.Sql 来保持相关的 ChildClass 对象与 ParentClass 的关系适当地持久化。我以前使用过像 Hibernate 这样的 ORM 工具,如果可能的话,我宁愿坚持只使用 groovy.sql.Sql。

我想知道 groovy.sql.Sql 是否有任何方便的助手来保持子集合同步?我不介意编写闭包以及比较“当前持久”集与“新持久”集的比较,以决定添加和删除什么,但我有点希望 groovy 已经为我解决了这个问题.

0 投票
1 回答
759 浏览

sql - 'ORA-00911: invalid character' 当 SQL 语句在字符串中间有分号时

有没有人在使用带有“;”的 SQL 语句java.sql.SQLSyntaxErrorException: ORA-00911: invalid character进行sql.execute('...')( 1 ) 调用时遇到过?(分号)字符。我知道尾随分号会导致 ORA-00911 如此处建议的2所以我已经把它们去掉了)

下面是一个这样的 SQL 语句的示例:

请注意,其中 [Ljava.lang.String;;字符。有没有办法逃避分号或以某种方式解决它?

代码片段:

0 投票
1 回答
1937 浏览

unit-testing - Spock 中的运行时异常模拟 groovy.sql

我已经在 StackOverflow 和 Google 上搜索了一段时间,试图找到能够在 Spock 规范中运行此代码的正确配置/语法:

但是,当我运行单元测试时,CGLIB 向我抛出了一个令人讨厌的异常:

我查看了这个问题/答案 -在 Spock 中使用 GroovyMock 或类似方法模拟静态方法- 希望它可以给我一个很好的起点,但在我的案例中被模拟的类 groovy.Sql 是一个 groovy 类,所以我不是确定这是正确的起点。

我已经使用 GroovyMock 在其他单元测试中成功地测试了 Groovy.Sql,但我希望也许我只是错过了一些可以做到这一点的东西,这样我就可以同时拥有 Spock 魔法和 Groovy SQL。如果我只是在某个地方错过了答案,我深表歉意 - 希望我不会重复别人的询问。