检索 jooq 中 selectCount 的值

2023-11-21

我有一些代码看起来像这样:

Record record = jooq
    .selectCount()
    .from(USERS)
    .fetchOne();

目前我正在执行以下操作来获取计数:

Integer count = (Integer) record.getValue(0);

但似乎必须有一个更好的解决方案(这是类型安全的......因为这就是使用 jooq 的全部意义)。有什么建议么?


不幸的是,对于这个特定的查询,没有很多“更好”的方法来安全地输入count()价值。为了添加类型安全,您可以做的是:

Field<Integer> f = count();
Integer count = jooq.
    .select(f) // Or selectCount(). Replaced it to illustrate the case
    .from(USERS)
    .fetchOne(f);

问题是,当 Java 编译器执行此操作时,大多数有关投影的类型信息已“丢失”。fetch()方法已“达到”。没有办法ResultQuery.fetchXXX()方法可以从SELECT条款,并将其提供给您。

在 jOOQ 用户组上,一些用户主张将投影移至fetch()方法完全采用 C# 的 LINQ 或 Scala 的 SLICK 的方式。这将使更高级的表达变得非常复杂SELECT声明。一个这里记录了更详细的解释.

jOOQ 3.0 引入了额外的记录级类型安全性。在 jOOQ 3.3 中,因此可以获取单个值(已注册为#2246):

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

检索 jooq 中 selectCount 的值 的相关文章

随机推荐

  • 我可以确定一个字符串是否是 MongoDB ObjectID 吗?

    我通过将字符串转换为 BSON 来进行 MongoDB 查找 在进行转换之前 有没有办法确定我拥有的字符串是否是 Mongo 的有效 ObjectID 这是我当前的 findByID 函数的咖啡脚本 它工作得很好 但如果我确定该字符串不是
  • 导出链接到动态库的静态库中的符号

    我在MSVC2017中有以下场景 具有该功能的静态库bool foo 链接上面静态库的动态链接库 使用显式运行时链接和调用加载动态链接库的应用程序foo via GetProcAddress 在静态库中 foo 定义如下 extern C
  • 如何将文件和文件夹添加到 GitHub 存储库中?

    我在 GitHub 上创建了一个帐户 但在添加文件时遇到问题 我已经添加了readme txt 另外 我还有另外 3 个 PHP 文件和一个包含图像的文件夹 如何添加文件和文件夹 我尝试过git pull因为git push origin
  • 统一更改Texture2D格式

    我有一个Textured2D已加载 表示为ETC RGB4我怎样才能将其更改为其他格式 说RGBA32 基本上我想从 3 个通道切换到 4 个通道 从每通道 4 位切换到每通道 8 位 Thanks 您可以在运行时更改纹理格式 1 创建新的
  • 使用 VueJS 在另一个窗口中打开 PDF 文件

    在我之前的 Angular 应用程序中 我能够在另一个窗口中打开我的简历 如下所示 a class link popup href Resume a 在用 Vue 重写我的网站时 我注意到它没有按预期工作 将其更改为 a class lin
  • Angular 2 agm 库用于谷歌地图按地点 ID 设置地点

    我正在页面中实现一个谷歌地图 其中将一个地点 id 传递给我 然后我需要获取这样的地点 id 并使用该标记加载地图 我正在查看文档 但不清楚如何从
  • 隐藏/禁用 Chrome PDF 查看器上的下载按钮

    我正在寻找一种方法来隐藏或禁用 Chrome PDF 查看器中显示的下载按钮 我已使用 fpdf 的保护脚本禁用了打印按钮 http www fpdf org en script script37 php 但它对下载按钮没有帮助 PDF 当
  • Clojure:实现 comp 函数

    4Clojure问题 58表述为 编写一个允许您创建函数组合的函数 参数列表应采用可变数量的函数 并创建一个从右到左应用它们的函数 3 2 1 rest reverse 1 2 3 4 5 partial 3 second 1 2 3 4
  • ifstream.eof() - 在真正结束之前到达文件末尾

    我有一个大约 11 1G 的二进制文件 其中存储来自 Kinect 的一系列深度帧 该文件中有 19437 帧 为了每次读取一帧 我使用ifstream in fstream但它达到了eof在文件真正结束之前 我只得到了前 20 帧 由于e
  • 使用 Typescript 和 requirejs 时,我的 Knockout.js 扩展应该放在哪里

    我正在将一些 javascript 代码移植到 typescript 并使用 requirejs 我有一个 config ts file config ts
  • 我应该从哪里开始使用 python 制作抓取工具或机器人? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我对编程语言 python 不是那么陌生 但我不知道从哪里开始使用 python 制作机器人或爬虫 我应该学习cgi编程吗 或者刮刀是否仅使用 python 脚本运行 我应该为此
  • 使用 d 指针有哪些优点和缺点?

    d 指针在 Qt 中大量使用 它们是 pimpl 惯用法的实现 我知道 pimpl 习语的优点和缺点 但我错过了 d 指针实现的优点 Here and here是 d 指针的样本 直接用这个不是更方便吗 class MyClassPriva
  • AWS Elastic Beanstalk 和 PHP 会话

    我目前正在 AWS EC2 实例上开发一个 php 应用程序 但我决定将其移至 Elastic Beanstalk 以利用自动扩展功能 虽然大多数应用程序完美地迁移到新的 Elastic Beanstalk EC2 实例 但我遇到了有关 p
  • Java Graphics.fillPolygon:如何渲染右边缘和下边缘?

    绘制多边形时 Java2D 会忽略右边缘和底边缘 我明白为什么要这样做 然而 我想画一些包含这些边缘的东西 我想到的一件事是遵循fillPolygon with drawPolygon具有相同的坐标 但这似乎留下了间隙 参见底部的小三角形图
  • 适合简单聊天应用程序的设计模式

    我正在设计一个简单的聊天应用程序 只是为了好玩 我一直想知道该聊天应用程序的简单设计 为了给您概述 以下是规则 匿名用户只需使用昵称即可进入聊天室 用户 ID 大概是由系统在后台分配的 他们可以加入 订阅 聊天对话 他会看到其他用户的聊天文
  • 查询mongoengine中的列表;包含与在

    我在带有 ids ReferenceField 的模型中有一个 ListField 如果某个 id 位于该列表中 我需要进行查询 据我所知 我有两个选择 Model objects filter refs contains 59633cad
  • Android 应用内计费 - BillingService 存在 onServiceConnected 和 onServiceDisconnected 编译错误

    我正在使用 Dungeons 应用程序示例 并且使用该示例中提供的 BillingService 类 我正在使用 Java 6 并且 override 对我有用 但是我在 BillingService java 中的这两个方法上收到编译错误
  • 过滤自定义适配器 IndexOutOfBoundsException

    我是安卓新手 我的自定义适配器在过滤时导致异常 这是我的代码 私有类 DeptAdapter 扩展 ArrayAdapter 实现 Filterable private ArrayList
  • jQuery 反转子元素的顺序

    使用 jQuery 反转子元素顺序的最佳方法是什么 例如 如果我从以下内容开始 ul li A li li B li li C li ul 我想以此结束 ul li C li li B li li A li ul var list ul v
  • 检索 jooq 中 selectCount 的值

    我有一些代码看起来像这样 Record record jooq selectCount from USERS fetchOne 目前我正在执行以下操作来获取计数 Integer count Integer record getValue 0