首页 > 解决方案 > Java JOOQ 使用对象将查询解析为 ArrayList

问题描述

我有个问题。我正在使用 JOOQ,我创建了以下查询:

create.select(
        DSL.field("Mainkey"),
        DSL.field("Market"),
        DSL.field("Coin"),
        DSL.field("Period"),
        DSL.field("DateTimeGMT0"),
        DSL.field("DateTimeLocal"),
        DSL.field("Close"))
        .from(DSL.table("vwCD_All_Selection_" + market + "_" + coin + "_1m_Order_DateTime_DESC"))
        .where(DSL.field("DateTimeLocal").greaterOrEqual(startDateTime.minusMinutes(1))).fetch();

现在我也有以下课程:

public class Candlestick implements Comparable<Candlestick> {

    private long MainKey;
    private LocalDateTime DateTimeGMT0;
    private LocalDateTime DateTimeLocal;
    private String Market;
    private String Coin;
    private String Period;
    public Double Close;

}

现在我希望将查询结果解析为ArrayList<Candlestick>. 我找到了这个页面:https ://www.jooq.org/doc/3.0/manual/sql-execution/fetching/arrays-maps-and-lists/ ,它显示了如何将结果解析为列表,即用于选择的特定列。我想解析整个对象。

我怎样才能做到这一点?

标签: javajooq

解决方案


您可以使用

.fetchInto(Candlestick.class);

代替

.fetch();

这将为您提供 Canldestick 的集合。


推荐阅读