
com.panosen.orm.clickhouse.DalClientExtension Maven / Gradle / Ivy
package com.panosen.orm.clickhouse;
import com.panosen.codedom.clickhouse.Parameter;
import com.panosen.codedom.clickhouse.Parameters;
import com.panosen.codedom.clickhouse.builder.SelectSqlBuilder;
import com.panosen.codedom.clickhouse.engine.GenerationResponse;
import com.panosen.codedom.clickhouse.engine.SelectSqlEngine;
import com.panosen.orm.clickhouse.extractor.EntityExtractor;
import com.panosen.orm.clickhouse.extractor.EntityListExtractor;
import com.panosen.orm.clickhouse.mapper.Mapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
public class DalClientExtension {
private final static Logger logger = LoggerFactory.getLogger(DalClientExtension.class);
public static List selectList(DalClient dalClient, SelectSqlBuilder selectSqlBuilder, Mapper mapper) throws Exception {
GenerationResponse generationResponse = new SelectSqlEngine().generate(selectSqlBuilder);
String sql = generationResponse.getSql();
logger.info("sql = " + sql);
Parameters parameters = generationResponse.getParameters();
logger.info("parameters.size() = " + parameters.size());
for (Parameter parameter : parameters) {
logger.info(parameter.getValue().toString());
}
final EntityListExtractor extractor = new EntityListExtractor<>(mapper);
return dalClient.query(sql, parameters, extractor);
}
public static TEntity selectSingle(DalClient dalClient, SelectSqlBuilder selectSqlBuilder, Mapper mapper) throws Exception {
GenerationResponse generationResponse = new SelectSqlEngine().generate(selectSqlBuilder);
String sql = generationResponse.getSql();
logger.info("sql = " + sql);
Parameters parameters = generationResponse.getParameters();
logger.info("parameters.size() = " + parameters.size());
for (Parameter parameter : parameters) {
logger.info(parameter.getValue().toString());
}
final EntityExtractor extractor = new EntityExtractor<>(mapper);
return dalClient.query(sql, parameters, extractor);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy