问题标签 [jooq]
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.
java - jooq 的限制和偏移问题
我已经将 jooq 与 spring 集成,对于所有类型的数据库查询(MySQL),我使用的是 spring 的 JDBC 模板。这里使用 jooq 库来生成要传递给 jdbc 模板的 sql 查询。
尽管我的其余查询工作正常,直到我向查询添加限制和/或偏移量。
我正在生成如下查询:
我收到如下错误:
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; 错误的 SQL 语法 [select table_name from tables t where (t.table_schema LIKE 'test') 限制?抵消 ?]; 嵌套异常是 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; 检查与您的 MySQL 服务器版本相对应的手册,以获取在 '? 附近使用的正确语法。抵消 ?' 在第 1 行
这清楚地表明传递给 limit 和 offset 方法的值不会附加到查询中。
我搜索了文档,但没有找到任何其他方法来实现这一点。
oracle - 通过 JOOQ 比较 Oracle DATE 列与 java.sql.timestamp
我正在使用 jooq 为 Oracle 构建查询。除日期外,一切正常:
给出以下输出:
我原以为 JOOQ 会检查 lessThan(Object) 中的 Object 类型以确定它是否可以提出合理的转换,但显然在这种情况下它只是执行 Object.toString() 。我还记得我从来没有在 MySQL 中通过 JOOQ 进行日期查询的问题(尽管这是前一阵子)。我究竟做错了什么?
java - 以跨平台方式维护 Mysql 数据库模式的最佳实践是什么?
我们有两个软件栈,Ruby on Rails 和 Java,它们共享一个 Mysql 数据库。我们正在使用 Jooq Java 数据库抽象层,它通过读取现有数据库模式并生成代码来工作。
我们一直依靠 Rails 迁移来跟踪模式更改,但是我们的 Java 开发人员对此并不熟悉,我们的 Rails 开发人员不得不不止一次地为我们解决问题。这也是一个相当繁琐的过程,进行架构更改可能需要 5-10 分钟,而如果直接通过 MySql Workbench 等工具修改架构则需要几秒钟。
最好有一个解决方案来修改与 Rails 无关的数据库模式,任何人都可以推荐一种合适的方法吗?
sql - jOOQ 中的列大小
使用ResultSet
I can get ResultSetMetaData
,我可以varchar(15)
使用metaData.getColumnDisplaySize(index)
. 有什么方法可以让我使用这个尺寸jOOQ
吗?
由于ResultSet
我对 UDT 有疑问,并且我已经在使用jOOQ
它来访问数据库(并且它与 UDT 配合得很好),所以如果是的话那将是完美的
java - 动态创建 JOOQ 查询
我需要根据参数集动态创建一个 JOOQ SELECT 查询。我不知道如何动态附加它。请帮忙
提前致谢。
java - 如何使用带有连接的查询从 jOOQ 中的一个表中进行选择?
我在 jOOQ 中有以下查询:
此查询返回给我一个记录,其中包含来自 PERSON 和 ENDUSER 的所有列,但我只想要来自 PERSON 的列(这就是我放置.from(PERSON)
而不是放置的原因.from(PERSON, ENDUSER)
)。我知道这无关紧要,但我不希望返回不必要的字段。
java - 模式更新后 jOOQ 生成的类的运行时验证?
我org.jooq.util.DefaultGenerator
在构建过程中使用 生成 jOOQ 类来表示我的数据库模式。
当应用程序运行时,模式预计会在应用程序不知道的情况下发生变化。此类更改可能与已生成的代码兼容,也可能不兼容。
如何在运行时检测生成的代码对于某个模式是否仍然有效?
我正在寻找类似的东西boolean stillValid = new SchemaValidator(existingGeneratedCodePath, jdbcUrl, jdbcProps).validate();
java - jOOQ 将字符串转换为布尔值
我在 MySQL 中有一个表,其中一些列(MD5、FLAGCONFIRMED、FLAGCHANGEPASSWORD)定义为“char(1)”,其中唯一可能的值是 0 和 1。我希望 jOOQ 在代码生成中将它们转换为布尔值。
我创建了一个转换器:
然后我在我的 pom 中配置了转换器(我使用 maven 来生成源)。
代码已成功生成,但类型未转换,它们的类型仍然是 String。
我如何使它工作?
编辑:我正在使用 jOOQ 2.6.1
java - 如何在 JOOQ 中将记录转换为表记录?
我需要将 JOOQ 的记录结果集转换为表记录列表。有什么方法可以做到吗?
java - 如何在 Jooq 中初始化和创建 ResultSet 和 Record?
我需要编写一些单元测试,我必须用一些虚拟数据模拟结果集和记录。我不知道如何初始化和实例化它们。请帮忙
提前致谢。