如何在jOOQ中编写计数查询

我现在将Pure SQL转换为jOOQ

("SELECT Count(*) Count From Table ");

我必须在jOOQ中编写此代码,我们该如何编写?

selectQueryRecord.addSelect(Here Count Function );

selectQueryRecord.addFrom(Table);

回答:

实现您所请求内容的最直接的方法是使用selectCount()

int count = 

DSL.using(configuration)

.selectCount()

.from(Table)

.fetchOne(0, int.class);

另外,您可以显式表达该count()功能:

int count = 

DSL.using(configuration)

.select(DSL.count())

.from(Table)

.fetchOne(0, int.class);

还有另一种方法来获取count(*)任意select表达式,这可以帮助您避免在上述fetchOne()方法中指定结果列索引和类型。它使用fetchCount()

int count =

DSL.using(configuration)

.fetchCount(DSL.selectFrom(Table));

但是请注意,这会呈现如下嵌套选择:

SELECT COUNT(*) FROM (SELECT a, b, ... FROM Table)

以上是 如何在jOOQ中编写计数查询 的全部内容, 来源链接: utcz.com/qa/415389.html

回到顶部