我现在将Pure SQL转换为jOOQ
("SELECT Count(*) Count From Table ");
我必须在jOOQ中编写此代码,我们该如何编写?
selectQueryRecord.addSelect(Here Count Function ); selectQueryRecord.addFrom(Table);
实现您所请求内容的最直接的方法是使用selectCount():
selectCount()
int count = DSL.using(configuration) .selectCount() .from(Table) .fetchOne(0, int.class);
另外,您可以显式表达该count()功能:
count()
int count = DSL.using(configuration) .select(DSL.count()) .from(Table) .fetchOne(0, int.class);
还有另一种方法来获取count(*)任意select表达式,这可以帮助您避免在上述fetchOne()方法中指定结果列索引和类型。它使用fetchCount():
count(*)
select
fetchOne()
fetchCount()
int count = DSL.using(configuration) .fetchCount(DSL.selectFrom(Table));
但是请注意,这会呈现如下嵌套选择:
SELECT COUNT(*) FROM (SELECT a, b, ... FROM Table)