简体   繁体   English

QueryDSL构建选择计数查询

[英]QueryDSL build select count query

I would like to build select count query by using QueryDSL library, something like this: 我想通过使用QueryDSL库来构建选择计数查询,如下所示:

select count(1) from table1

I created next code: 我创建了下一个代码:

SQLTemplates sqlTemplates = builder.printSchema().build();
Configuration configuration = new Configuration(sqlTemplates);
Path table = new RelationalPathBase(Object.class, "alias", "hr", "table1");
StringPath[] columnsPath = new StringPath[1];
columnsPath[0] = Expressions.stringPath(table, "field1");
SQLQuery sqlQuery = new SQLQuery(dataSource.getConnection(), configuration)
                .from(table);
sqlQuery.setUseLiterals(true);
String selectStatement = sqlQuery.getSQL(columnsPath).getSQL();

As result selectStatement is next: 结果是selectStatement是下一个:

select alias.field1 from hr.table1 alias

Could please someone advice how to rewrite code above to get 可以请某人建议如何重写上面的代码来获取

select count(alias.field1) from hr.table1 alias

用最后一行替换

String selectStatement = sqlQuery.getSQL(columnsPath[0].count()).getSQL();

这还不够吗?

...from(table).count();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM