Java QueryDSL生成选择计数查询
我想使用QueryDSL库构建select count查询,如下所示:Java QueryDSL生成选择计数查询,java,querydsl,Java,Querydsl,我想使用QueryDSL库构建select count查询,如下所示: 从表1中选择计数(1) 我创建了下一个代码: SQLTemplates sqlTemplates = builder.printSchema().build(); Configuration configuration = new Configuration(sqlTemplates); Path table = new RelationalPathBase(Object.class, "alias", "hr", "tab
从表1中选择计数(1)
我创建了下一个代码:
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();
因此,selectStatement是下一个:
select alias.field1 from hr.table1 alias
可以请某人建议如何重写上面的代码以获得
select count(alias.field1) from hr.table1 alias
这还不够吗
...from(table).count();
将最后一行替换为
String selectStatement = sqlQuery.getSQL(columnsPath[0].count()).getSQL();
count()
方法返回查询执行的结果,但我需要生成的sql查询的文本:从表1中选择count(1)