org.sfm.jdbc.spring.JdbcTemplateMapperFactory Maven / Gradle / Ivy
package org.sfm.jdbc.spring;
import org.sfm.jdbc.JdbcColumnKey;
import org.sfm.jdbc.JdbcMapper;
import org.sfm.jdbc.JdbcMapperFactory;
import org.sfm.map.MapperBuildingException;
import org.sfm.map.column.FieldMapperColumnDefinition;
import org.sfm.map.mapper.AbstractMapperFactory;
import org.sfm.map.mapper.FieldMapperColumnDefinitionProviderImpl;
import org.sfm.reflect.TypeReference;
import org.springframework.jdbc.core.PreparedStatementCallback;
import org.springframework.jdbc.core.ResultSetExtractor;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.ParsedSql;
import java.lang.reflect.Type;
import java.util.List;
public final class JdbcTemplateMapperFactory extends AbstractMapperFactory,
JdbcTemplateMapperFactory> {
private JdbcTemplateMapperFactory() {
super(new FieldMapperColumnDefinitionProviderImpl(), FieldMapperColumnDefinition.identity());
}
public static JdbcTemplateMapperFactory newInstance() {
return new JdbcTemplateMapperFactory();
}
public RowMapper newRowMapper(Class target)
throws MapperBuildingException {
return newMapper(target);
}
public RowMapper newRowMapper(TypeReference target)
throws MapperBuildingException {
return newMapper(target);
}
public RowMapper newRowMapper(Type target)
throws MapperBuildingException {
return newMapper(target);
}
public JdbcTemplateMapper newMapper(Class target) {
return newMapper((Type)target);
}
public JdbcTemplateMapper newMapper(Type target) {
return new JdbcTemplateMapper(this.newJdbcMapper(target));
}
private JdbcMapper newJdbcMapper(Type target) {
return JdbcMapperFactory.newInstance(this).newMapper(target);
}
public JdbcTemplateMapper newMapper(TypeReference target) {
return newMapper(target.getType());
}
public PreparedStatementCallback> newPreparedStatementCallback(Class target)
throws MapperBuildingException {
return newMapper(target);
}
public PreparedStatementCallback> newPreparedStatementCallback(Type target)
throws MapperBuildingException {
return newMapper(target);
}
public PreparedStatementCallback> newPreparedStatementCallback(TypeReference target)
throws MapperBuildingException {
return newMapper(target);
}
public ResultSetExtractor> newResultSetExtractor(Class target)
throws MapperBuildingException {
return newMapper(target);
}
public ResultSetExtractor> newResultSetExtractor(Type target)
throws MapperBuildingException {
return newMapper(target);
}
public ResultSetExtractor> newResultSetExtractor(TypeReference target)
throws MapperBuildingException {
return newMapper(target);
}
public SqlParameterSourceFactory newSqlParameterSourceFactory(Class target) {
return newSqlParameterSourceFactory((Type)target);
}
public SqlParameterSourceFactory newSqlParameterSourceFactory(Type target) {
return new SqlParameterSourceFactory(new DynamicPlaceHolderValueGetterSource(this.getClassMeta(target), mapperConfig()));
}
public SqlParameterSourceFactory newSqlParameterSourceFactory(TypeReference target) {
return newSqlParameterSourceFactory(target.getType());
}
public SqlParameterSourceFactory newSqlParameterSourceFactory(Class target, ParsedSql parsedSql) {
return newSqlParameterSourceFactory((Type)target, parsedSql);
}
public SqlParameterSourceFactory newSqlParameterSourceFactory(Type target, ParsedSql parsedSql) {
SqlParameterSourceBuilder builder = new SqlParameterSourceBuilder(this.getClassMeta(target), mapperConfig());
return builder.buildFactory(parsedSql);
}
public SqlParameterSourceFactory newSqlParameterSourceFactory(TypeReference target, ParsedSql parsedSql) {
return newSqlParameterSourceFactory(target.getType(), parsedSql);
}
public JdbcTemplateCrudDSL crud(Type target, Type keyTarget) {
return new JdbcTemplateCrudDSL(this, target, keyTarget);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy