ninja.cero.sqltemplate.core.mapper.MapperBuilder Maven / Gradle / Ivy
package ninja.cero.sqltemplate.core.mapper;
import ninja.cero.sqltemplate.core.util.TypeUtils;
import org.springframework.jdbc.core.RowMapper;
import java.time.ZoneId;
public class MapperBuilder {
protected ZoneId zoneId;
public MapperBuilder() {
this.zoneId = ZoneId.systemDefault();
}
public MapperBuilder(ZoneId zoneId) {
this.zoneId = zoneId;
}
public RowMapper mapper(Class mappedClass) {
if (TypeUtils.isSimpleValueType(mappedClass)) {
return new SingleColumnMapper<>(mappedClass, zoneId);
}
return new BeanMapper<>(mappedClass, zoneId);
}
}