All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
ninja.cero.sqltemplate.core.ArrayBuilder Maven / Gradle / Ivy
package ninja.cero.sqltemplate.core;
import ninja.cero.sqltemplate.core.executor.ArrayExecutor;
import ninja.cero.sqltemplate.core.executor.EntityExecutor;
import ninja.cero.sqltemplate.core.executor.MapExecutor;
import ninja.cero.sqltemplate.core.executor.QueryExecutor;
import ninja.cero.sqltemplate.core.mapper.MapperBuilder;
import ninja.cero.sqltemplate.core.parameter.ParamBuilder;
import ninja.cero.sqltemplate.core.template.TemplateEngine;
import ninja.cero.sqltemplate.core.util.TypeUtils;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import java.util.HashMap;
import java.util.Map;
public class ArrayBuilder extends ArrayExecutor {
protected JdbcTemplate jdbcTemplate;
protected NamedParameterJdbcTemplate namedJdbcTemplate;
protected ParamBuilder paramBuilder;
protected MapperBuilder mapperBuilder;
protected TemplateEngine templateEngine;
protected String template;
public ArrayBuilder(JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedJdbcTemplate, ParamBuilder paramBuilder, MapperBuilder mapperBuilder, TemplateEngine templateEngine, String template) {
super(jdbcTemplate, paramBuilder, mapperBuilder, templateEngine, template);
this.jdbcTemplate = jdbcTemplate;
this.namedJdbcTemplate = namedJdbcTemplate;
this.paramBuilder = paramBuilder;
this.mapperBuilder = mapperBuilder;
this.templateEngine = templateEngine;
this.template = template;
}
public QueryExecutor params(Object... params) {
return new ArrayExecutor(jdbcTemplate, paramBuilder, mapperBuilder, templateEngine, template, params);
}
public QueryExecutor param(Object entity) {
return new EntityExecutor(jdbcTemplate, namedJdbcTemplate, paramBuilder, mapperBuilder, templateEngine, template, entity);
}
public QueryExecutor param(Map params) {
return new MapExecutor(jdbcTemplate, namedJdbcTemplate, paramBuilder, mapperBuilder, templateEngine, template, params);
}
public MapQueryBuilder addParam(String key, Object value) {
return new MapQueryBuilder(namedJdbcTemplate, paramBuilder, mapperBuilder, templateEngine, template, new HashMap<>())
.addParam(key, value);
}
public class MapQueryBuilder extends MapExecutor {
protected Map params;
public MapQueryBuilder(NamedParameterJdbcTemplate namedJdbcTemplate, ParamBuilder paramBuilder, MapperBuilder mapperBuilder, TemplateEngine templateEngine, String template, Map params) {
super(jdbcTemplate, namedJdbcTemplate, paramBuilder, mapperBuilder, templateEngine, template, params);
this.params = params;
}
public MapQueryBuilder addParam(String key, Object value) {
params.put(key, value);
return this;
}
}
}