当前位置: 首页 > 知识库问答 >
问题:

jOOQ:选择原始值

时修贤
2023-03-14

如果我的查询结果是带有原始值的单个列,是否有办法使用jooq获取它们,避免原始装箱?

例如,从表中的每本书中获取页数作为int[]。

int[] pageCounts = dsl.select(BOOK.PAGE_COUNT)
    .from(BOOK)
    .fetch();

共有1个答案

淳于飞文
2023-03-14

jOOQ大量使用泛型,这意味着在jOOQ内部的某个时候,装箱是不可避免的,即使jOOQ有可能将结果作为int[]向您公开。

您必须直接使用JDBC运行查询(您仍然可以使用jOOQ构建它)才能执行您想要的操作。例如。

// Use some third party primitive int buffer
var buffer = new IntArrayList();

try (
    Cursor<?> cursor = dsl.select(BOOK.PAGE_COUNT).from(BOOK).fetchLazy();
    ResultSet rs = cursor.resultSet();
) {
    while (rs.next())
        buffer.add(rs.getInt(1));
}
 类似资料:
  • 在SQL中,我可以执行以下类型的查询: 因为,没有方法。或者如果我只是想: 有没有一种方法可以使用Jooq来做到这一点?

  • 我想在SQL中执行以下操作: 在jOOQ中,我将subQ存储到Select中 我的问题是,如何从subQ中获取maxCol列,并在join中使用它?我的连接是这样的: 我在()上出错 类型字段中的方法eq(字符串)不适用于参数(字段) 我该怎么办?

  • 问题内容: ModelMultipleChoiceField没有选择初始选择,并且在我的示例中,我无法进行以下修复 我的模型和表格: 我的工作和结果: 我希望它可以工作的方式: 1.我的视图从request.GET获取“公司” 2.然后过滤该“公司”的所有“联系人” 3.最后,它创建一个表单并将这些“联系人”作为“初始= {…}” 两个问题: 1. [尚未回答]如何使ModelMultipleCh

  • 我正在尝试JOOQ,并试图使用连接语句从3个表(作者,书籍和文章)中进行选择。ERD如下: 我的问题如下: 我也有一个原型对象如下: (或任何其他pojo)将所有实体(作者详细信息图书列表文章列表)保存到一个对象中。我的问题是,是否有某种方法可以使用JOOQ将所有三个表映射到一个对象中。 提前谢谢。

  • cesium每更新一个版本,就会导致默认的三维球不可见,原因是bingkey发生了变化,如果我们想设置三维球加载的初始图层,可以修改viewer的imageryProvider属性,但是这样做会导致一个问题:baseLayerPicker控件的按钮图标会显示为空白 今天我们来解决这个问题。 拿到问题不要直接开怼,想一想,应该怎么做? 首先我们知道这个控件就是一个div,那毫无疑问,使用js强制修改

  • 我试图编写一个JOOQ查询,其中需要按UUID进行搜索,UUID作为原始类型存储在Oracle数据库中。在Jooq生成的实体中,这些类型的字段被定义为字节数组。 另一方面,当将列名强制转换为字符串时: 在运行时产生jdbc异常: