All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.zalando.sprocwrapper.proxy.executors.SingleRowCustomMapperExecutor Maven / Gradle / Ivy

package de.zalando.sprocwrapper.proxy.executors;

import java.util.List;

import javax.sql.DataSource;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import de.zalando.sprocwrapper.proxy.InvocationContext;

/**
 * @author  hjacobs
 */
public class SingleRowCustomMapperExecutor implements Executor {

    private final RowMapper resultMapper;

    public SingleRowCustomMapperExecutor(final RowMapper resultMapper) {
        this.resultMapper = resultMapper;
    }

    @Override
    public Object executeSProc(final DataSource ds, final String sql, final Object[] args, final int[] types,
            final InvocationContext invocationContext, final Class returnType) {
        final List list = (new JdbcTemplate(ds)).query(sql, args, types, resultMapper);
        if (!list.isEmpty()) {
            return list.iterator().next();
        }

        return null;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy