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

com.landawn.abacus.util.AsyncSQLExecutor Maven / Gradle / Ivy

There is a newer version: 3.8.5
Show newest version
/*
 * Copyright (C) 2015 HaiYang Li
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */

package com.landawn.abacus.util;

import java.math.BigDecimal;
import java.sql.Connection;
import java.util.List;
import java.util.concurrent.Callable;

import com.landawn.abacus.DataSet;
import com.landawn.abacus.logging.Logger;
import com.landawn.abacus.logging.LoggerFactory;
import com.landawn.abacus.util.SQLExecutor.ResultExtractor;
import com.landawn.abacus.util.SQLExecutor.StatementSetter;
import com.landawn.abacus.util.u.Nullable;
import com.landawn.abacus.util.u.Optional;
import com.landawn.abacus.util.u.OptionalBoolean;
import com.landawn.abacus.util.u.OptionalByte;
import com.landawn.abacus.util.u.OptionalChar;
import com.landawn.abacus.util.u.OptionalDouble;
import com.landawn.abacus.util.u.OptionalFloat;
import com.landawn.abacus.util.u.OptionalInt;
import com.landawn.abacus.util.u.OptionalLong;
import com.landawn.abacus.util.u.OptionalShort;
import com.landawn.abacus.util.stream.Stream;

/**
 * Asynchronous SQLExecutor.
 *
 * @author Haiyang Li
 * @since 0.8
 */
public final class AsyncSQLExecutor {

    /** The Constant logger. */
    protected static final Logger logger = LoggerFactory.getLogger(AsyncSQLExecutor.class);

    /** The sql executor. */
    private final SQLExecutor sqlExecutor;

    /** The async executor. */
    private final AsyncExecutor asyncExecutor;

    /**
     * Instantiates a new async SQL executor.
     *
     * @param sqlExecutor
     * @param asyncExecutor
     */
    AsyncSQLExecutor(final SQLExecutor sqlExecutor, final AsyncExecutor asyncExecutor) {
        this.sqlExecutor = sqlExecutor;
        this.asyncExecutor = asyncExecutor;
    }

    /**
     *
     * @return
     */
    public SQLExecutor sync() {
        return sqlExecutor;
    }

    /**
     *
     * @return
     */
    AsyncExecutor asyncExecutor() {
        return asyncExecutor;
    }

    /**
     *
     * @param 
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture insert(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public ID call() throws Exception {
                return sqlExecutor.insert(sql, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture insert(final String sql, final StatementSetter statementSetter, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public ID call() throws Exception {
                return sqlExecutor.insert(sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture insert(final String sql, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public ID call() throws Exception {
                return sqlExecutor.insert(sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture insert(final String sql, final StatementSetter statementSetter, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public ID call() throws Exception {
                return sqlExecutor.insert(sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param autoGeneratedKeyExtractor
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture insert(final String sql, final StatementSetter statementSetter,
            final JdbcUtil.BiRowMapper autoGeneratedKeyExtractor, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public ID call() throws Exception {
                return sqlExecutor.insert(sql, statementSetter, autoGeneratedKeyExtractor, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture insert(final Connection conn, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public ID call() throws Exception {
                return sqlExecutor.insert(conn, sql, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture insert(final Connection conn, final String sql, final StatementSetter statementSetter, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public ID call() throws Exception {
                return sqlExecutor.insert(conn, sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture insert(final Connection conn, final String sql, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public ID call() throws Exception {
                return sqlExecutor.insert(conn, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture insert(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public ID call() throws Exception {
                return sqlExecutor.insert(conn, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param autoGeneratedKeyExtractor
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture insert(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcUtil.BiRowMapper autoGeneratedKeyExtractor, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public ID call() throws Exception {
                return sqlExecutor.insert(conn, sql, statementSetter, autoGeneratedKeyExtractor, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param parametersList
     * @return
     */
    public  ContinuableFuture> batchInsert(final String sql, final List parametersList) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.batchInsert(sql, parametersList);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param parametersList
     * @return
     */
    public  ContinuableFuture> batchInsert(final String sql, final StatementSetter statementSetter, final List parametersList) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.batchInsert(sql, statementSetter, parametersList);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param jdbcSettings
     * @param parametersList
     * @return
     */
    public  ContinuableFuture> batchInsert(final String sql, final JdbcSettings jdbcSettings, final List parametersList) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.batchInsert(sql, jdbcSettings, parametersList);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parametersList
     * @return
     */
    public  ContinuableFuture> batchInsert(final String sql, final StatementSetter statementSetter, final JdbcSettings jdbcSettings,
            final List parametersList) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.batchInsert(sql, statementSetter, jdbcSettings, parametersList);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param autoGeneratedKeyExtractor
     * @param jdbcSettings
     * @param parametersList
     * @return
     */
    public  ContinuableFuture> batchInsert(final String sql, final StatementSetter statementSetter,
            final JdbcUtil.BiRowMapper autoGeneratedKeyExtractor, final JdbcSettings jdbcSettings, final List parametersList) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.batchInsert(sql, statementSetter, autoGeneratedKeyExtractor, jdbcSettings, parametersList);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param parametersList
     * @return
     */
    public  ContinuableFuture> batchInsert(final Connection conn, final String sql, final List parametersList) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.batchInsert(conn, sql, parametersList);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param parametersList
     * @return
     */
    public  ContinuableFuture> batchInsert(final Connection conn, final String sql, final StatementSetter statementSetter,
            final List parametersList) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.batchInsert(conn, sql, statementSetter, parametersList);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param jdbcSettings
     * @param parametersList
     * @return
     */
    public  ContinuableFuture> batchInsert(final Connection conn, final String sql, final JdbcSettings jdbcSettings,
            final List parametersList) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.batchInsert(conn, sql, jdbcSettings, parametersList);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parametersList
     * @return
     */
    public  ContinuableFuture> batchInsert(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final List parametersList) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.batchInsert(conn, sql, statementSetter, jdbcSettings, parametersList);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param autoGeneratedKeyExtractor
     * @param jdbcSettings
     * @param parametersList
     * @return
     */
    public  ContinuableFuture> batchInsert(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcUtil.BiRowMapper autoGeneratedKeyExtractor, final JdbcSettings jdbcSettings, final List parametersList) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.batchInsert(conn, sql, statementSetter, autoGeneratedKeyExtractor, jdbcSettings, parametersList);
            }
        });
    }

    /**
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture update(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.update(sql, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture update(final String sql, final StatementSetter statementSetter, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.update(sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture update(final String sql, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.update(sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture update(final String sql, final StatementSetter statementSetter, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.update(sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture update(final Connection conn, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.update(conn, sql, parameters);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture update(final Connection conn, final String sql, final StatementSetter statementSetter, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.update(conn, sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture update(final Connection conn, final String sql, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.update(conn, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture update(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.update(conn, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param parametersList
     * @return
     */
    public ContinuableFuture batchUpdate(final String sql, final List parametersList) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.batchUpdate(sql, parametersList);
            }
        });
    }

    /**
     *
     * @param sql
     * @param statementSetter
     * @param parametersList
     * @return
     */
    public ContinuableFuture batchUpdate(final String sql, final StatementSetter statementSetter, final List parametersList) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.batchUpdate(sql, statementSetter, parametersList);
            }
        });
    }

    /**
     *
     * @param sql
     * @param jdbcSettings
     * @param parametersList
     * @return
     */
    public ContinuableFuture batchUpdate(final String sql, final JdbcSettings jdbcSettings, final List parametersList) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.batchUpdate(sql, jdbcSettings, parametersList);
            }
        });
    }

    /**
     *
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parametersList
     * @return
     */
    public ContinuableFuture batchUpdate(final String sql, final StatementSetter statementSetter, final JdbcSettings jdbcSettings,
            final List parametersList) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.batchUpdate(sql, statementSetter, jdbcSettings, parametersList);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param parametersList
     * @return
     */
    public ContinuableFuture batchUpdate(final Connection conn, final String sql, final List parametersList) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.batchUpdate(conn, sql, parametersList);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param statementSetter
     * @param parametersList
     * @return
     */
    public ContinuableFuture batchUpdate(final Connection conn, final String sql, final StatementSetter statementSetter,
            final List parametersList) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.batchUpdate(conn, sql, statementSetter, parametersList);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param jdbcSettings
     * @param parametersList
     * @return
     */
    public ContinuableFuture batchUpdate(final Connection conn, final String sql, final JdbcSettings jdbcSettings, final List parametersList) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.batchUpdate(conn, sql, jdbcSettings, parametersList);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parametersList
     * @return
     */
    public ContinuableFuture batchUpdate(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final List parametersList) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.batchUpdate(conn, sql, statementSetter, jdbcSettings, parametersList);
            }
        });
    }

    /**
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture exists(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Boolean call() throws Exception {
                return sqlExecutor.exists(sql, parameters);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture exists(final Connection conn, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Boolean call() throws Exception {
                return sqlExecutor.exists(conn, sql, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param parameters
     * @return
     * @deprecated may be misused and it's inefficient.
     */
    @Deprecated
    @SafeVarargs
    final ContinuableFuture count(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.count(sql, parameters);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param parameters
     * @return
     * @deprecated may be misused and it's inefficient.
     */
    @Deprecated
    @SafeVarargs
    final ContinuableFuture count(final Connection conn, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Integer call() throws Exception {
                return sqlExecutor.count(conn, sql, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Class targetClass, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(targetClass, sql, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(targetClass, sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Class targetClass, final String sql, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(targetClass, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(targetClass, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Class targetClass, final Connection conn, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(targetClass, conn, sql, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Class targetClass, final Connection conn, final String sql,
            final StatementSetter statementSetter, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(targetClass, conn, sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Class targetClass, final Connection conn, final String sql, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(targetClass, conn, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Class targetClass, final Connection conn, final String sql,
            final StatementSetter statementSetter, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(targetClass, conn, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final String sql, final JdbcUtil.RowMapper rowMapper, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(sql, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final String sql, final StatementSetter statementSetter, final JdbcUtil.RowMapper rowMapper,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(sql, statementSetter, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final String sql, final JdbcUtil.RowMapper rowMapper, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(sql, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final String sql, final StatementSetter statementSetter, final JdbcUtil.RowMapper rowMapper,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(sql, statementSetter, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Connection conn, final String sql, final JdbcUtil.RowMapper rowMapper,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(conn, sql, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcUtil.RowMapper rowMapper, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(conn, sql, statementSetter, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Connection conn, final String sql, final JdbcUtil.RowMapper rowMapper,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(conn, sql, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> get(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcUtil.RowMapper rowMapper, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.get(conn, sql, statementSetter, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Class targetClass, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(targetClass, sql, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(targetClass, sql, statementSetter, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Class targetClass, final String sql, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(targetClass, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(targetClass, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Class targetClass, final Connection conn, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(targetClass, conn, sql, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Class targetClass, final Connection conn, final String sql, final StatementSetter statementSetter,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(targetClass, conn, sql, statementSetter, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Class targetClass, final Connection conn, final String sql, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(targetClass, conn, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Class targetClass, final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(targetClass, conn, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param sql
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final String sql, final JdbcUtil.RowMapper rowMapper, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(sql, rowMapper, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final String sql, final StatementSetter statementSetter, final JdbcUtil.RowMapper rowMapper,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(sql, statementSetter, rowMapper, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param sql
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final String sql, final JdbcUtil.RowMapper rowMapper, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(sql, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final String sql, final StatementSetter statementSetter, final JdbcUtil.RowMapper rowMapper,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(sql, statementSetter, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param conn
     * @param sql
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Connection conn, final String sql, final JdbcUtil.RowMapper rowMapper, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(conn, sql, rowMapper, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcUtil.RowMapper rowMapper, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(conn, sql, statementSetter, rowMapper, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param conn
     * @param sql
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Connection conn, final String sql, final JdbcUtil.RowMapper rowMapper, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(conn, sql, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Gets the t.
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture gett(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcUtil.RowMapper rowMapper, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.gett(conn, sql, statementSetter, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Class targetClass, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(targetClass, sql, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(targetClass, sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Class targetClass, final String sql, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(targetClass, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(targetClass, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Class targetClass, final Connection conn, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(targetClass, conn, sql, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Class targetClass, final Connection conn, final String sql,
            final StatementSetter statementSetter, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(targetClass, conn, sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Class targetClass, final Connection conn, final String sql,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(targetClass, conn, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Class targetClass, final Connection conn, final String sql,
            final StatementSetter statementSetter, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(targetClass, conn, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final String sql, final JdbcUtil.RowMapper rowMapper, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(sql, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final String sql, final StatementSetter statementSetter, final JdbcUtil.RowMapper rowMapper,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(sql, statementSetter, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final String sql, final JdbcUtil.RowMapper rowMapper, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(sql, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final String sql, final StatementSetter statementSetter, final JdbcUtil.RowMapper rowMapper,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(sql, statementSetter, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Connection conn, final String sql, final JdbcUtil.RowMapper rowMapper,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(conn, sql, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcUtil.RowMapper rowMapper, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(conn, sql, statementSetter, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Connection conn, final String sql, final JdbcUtil.RowMapper rowMapper,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(conn, sql, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> findFirst(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcUtil.RowMapper rowMapper, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Optional call() throws Exception {
                return sqlExecutor.findFirst(conn, sql, statementSetter, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Class targetClass, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(targetClass, sql, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(targetClass, sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Class targetClass, final String sql, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(targetClass, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(targetClass, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Class targetClass, final Connection conn, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(targetClass, conn, sql, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Class targetClass, final Connection conn, final String sql, final StatementSetter statementSetter,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(targetClass, conn, sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Class targetClass, final Connection conn, final String sql, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(targetClass, conn, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Class targetClass, final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(targetClass, conn, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final String sql, final JdbcUtil.BiRowMapper rowMapper, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(sql, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final String sql, final StatementSetter statementSetter, final JdbcUtil.BiRowMapper rowMapper,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(sql, statementSetter, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final String sql, final JdbcUtil.BiRowMapper rowMapper, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(sql, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final String sql, final StatementSetter statementSetter, final JdbcUtil.BiRowMapper rowMapper,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(sql, statementSetter, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Connection conn, final String sql, final JdbcUtil.BiRowMapper rowMapper,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(conn, sql, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcUtil.BiRowMapper rowMapper, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(conn, sql, statementSetter, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Connection conn, final String sql, final JdbcUtil.BiRowMapper rowMapper,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(conn, sql, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> list(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcUtil.BiRowMapper rowMapper, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.list(conn, sql, statementSetter, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> listAll(final Class targetClass, final String sql, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.listAll(targetClass, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> listAll(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.listAll(targetClass, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sqls
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> listAll(final Class targetClass, final List sqls, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.listAll(targetClass, sqls, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sqls
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> listAll(final Class targetClass, final List sqls, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.listAll(targetClass, sqls, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> listAll(final String sql, final JdbcUtil.BiRowMapper rowMapper, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.listAll(sql, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> listAll(final String sql, final StatementSetter statementSetter, final JdbcUtil.BiRowMapper rowMapper,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.listAll(sql, statementSetter, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sqls
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> listAll(final List sqls, final JdbcUtil.BiRowMapper rowMapper, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.listAll(sqls, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sqls
     * @param statementSetter
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> listAll(final List sqls, final StatementSetter statementSetter, final JdbcUtil.BiRowMapper rowMapper,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public List call() throws Exception {
                return sqlExecutor.listAll(sqls, statementSetter, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Query for boolean.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryForBoolean(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public OptionalBoolean call() throws Exception {
                return sqlExecutor.queryForBoolean(sql, parameters);
            }
        });
    }

    /**
     * Query for char.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryForChar(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public OptionalChar call() throws Exception {
                return sqlExecutor.queryForChar(sql, parameters);
            }
        });
    }

    /**
     * Query for byte.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryForByte(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public OptionalByte call() throws Exception {
                return sqlExecutor.queryForByte(sql, parameters);
            }
        });
    }

    /**
     * Query for short.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryForShort(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public OptionalShort call() throws Exception {
                return sqlExecutor.queryForShort(sql, parameters);
            }
        });
    }

    /**
     * Query for int.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryForInt(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public OptionalInt call() throws Exception {
                return sqlExecutor.queryForInt(sql, parameters);
            }
        });
    }

    /**
     * Query for long.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryForLong(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public OptionalLong call() throws Exception {
                return sqlExecutor.queryForLong(sql, parameters);
            }
        });
    }

    /**
     * Query for float.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryForFloat(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public OptionalFloat call() throws Exception {
                return sqlExecutor.queryForFloat(sql, parameters);
            }
        });
    }

    /**
     * Query for double.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryForDouble(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public OptionalDouble call() throws Exception {
                return sqlExecutor.queryForDouble(sql, parameters);
            }
        });
    }

    /**
     * Query for big decimal.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture> queryForBigDecimal(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForBigDecimal(sql, parameters);
            }
        });
    }

    /**
     * Query for string.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture> queryForString(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForString(sql, parameters);
            }
        });
    }

    /**
     * Query for date.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture> queryForDate(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForDate(sql, parameters);
            }
        });
    }

    /**
     * Query for time.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture> queryForTime(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForTime(sql, parameters);
            }
        });
    }

    /**
     * Query for timestamp.
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture> queryForTimestamp(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForTimestamp(sql, parameters);
            }
        });
    }

    /**
     * Query for single result.
     *
     * @param  the value type
     * @param targetClass
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForSingleResult(final Class targetClass, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForSingleResult(targetClass, sql, parameters);
            }
        });
    }

    /**
     * Query for single result.
     *
     * @param  the value type
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForSingleResult(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForSingleResult(targetClass, sql, statementSetter, parameters);
            }
        });
    }

    /**
     * Query for single result.
     *
     * @param  the value type
     * @param targetClass
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForSingleResult(final Class targetClass, final String sql, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForSingleResult(targetClass, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Query for single result.
     *
     * @param  the value type
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForSingleResult(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForSingleResult(targetClass, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Query for single result.
     *
     * @param  the value type
     * @param targetClass
     * @param conn
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForSingleResult(final Class targetClass, final Connection conn, final String sql,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForSingleResult(targetClass, conn, sql, parameters);
            }
        });
    }

    /**
     * Query for single result.
     *
     * @param  the value type
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForSingleResult(final Class targetClass, final Connection conn, final String sql,
            final StatementSetter statementSetter, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForSingleResult(targetClass, conn, sql, statementSetter, parameters);
            }
        });
    }

    /**
     * Query for single result.
     *
     * @param  the value type
     * @param targetClass
     * @param conn
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForSingleResult(final Class targetClass, final Connection conn, final String sql,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForSingleResult(targetClass, conn, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Query for single result.
     *
     * @param  the value type
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForSingleResult(final Class targetClass, final Connection conn, final String sql,
            final StatementSetter statementSetter, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForSingleResult(targetClass, conn, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Query for unique result.
     *
     * @param  the value type
     * @param targetClass
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForUniqueResult(final Class targetClass, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForUniqueResult(targetClass, sql, parameters);
            }
        });
    }

    /**
     * Query for unique result.
     *
     * @param  the value type
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForUniqueResult(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForUniqueResult(targetClass, sql, statementSetter, parameters);
            }
        });
    }

    /**
     * Query for unique result.
     *
     * @param  the value type
     * @param targetClass
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForUniqueResult(final Class targetClass, final String sql, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForUniqueResult(targetClass, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Query for unique result.
     *
     * @param  the value type
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForUniqueResult(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForUniqueResult(targetClass, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Query for unique result.
     *
     * @param  the value type
     * @param targetClass
     * @param conn
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForUniqueResult(final Class targetClass, final Connection conn, final String sql,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForUniqueResult(targetClass, conn, sql, parameters);
            }
        });
    }

    /**
     * Query for unique result.
     *
     * @param  the value type
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForUniqueResult(final Class targetClass, final Connection conn, final String sql,
            final StatementSetter statementSetter, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForUniqueResult(targetClass, conn, sql, statementSetter, parameters);
            }
        });
    }

    /**
     * Query for unique result.
     *
     * @param  the value type
     * @param targetClass
     * @param conn
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForUniqueResult(final Class targetClass, final Connection conn, final String sql,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForUniqueResult(targetClass, conn, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Query for unique result.
     *
     * @param  the value type
     * @param targetClass
     * @param conn
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> queryForUniqueResult(final Class targetClass, final Connection conn, final String sql,
            final StatementSetter statementSetter, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Nullable call() throws Exception {
                return sqlExecutor.queryForUniqueResult(targetClass, conn, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture query(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.query(sql, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture query(final String sql, final StatementSetter statementSetter, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.query(sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture query(final String sql, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.query(sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture query(final String sql, final StatementSetter statementSetter, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.query(sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param resultExtractor
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture query(final String sql, final ResultExtractor resultExtractor, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.query(sql, resultExtractor, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param resultExtractor
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture query(final String sql, final StatementSetter statementSetter, final ResultExtractor resultExtractor,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.query(sql, statementSetter, resultExtractor, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param resultExtractor
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture query(final String sql, final ResultExtractor resultExtractor, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.query(sql, resultExtractor, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param resultExtractor
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture query(final String sql, final StatementSetter statementSetter, final ResultExtractor resultExtractor,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.query(sql, statementSetter, resultExtractor, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture query(final Connection conn, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.query(conn, sql, parameters);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture query(final Connection conn, final String sql, final StatementSetter statementSetter, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.query(conn, sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture query(final Connection conn, final String sql, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.query(conn, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture query(final Connection conn, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.query(conn, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param resultExtractor
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture query(final Connection conn, final String sql, final ResultExtractor resultExtractor, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.query(conn, sql, resultExtractor, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param resultExtractor
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture query(final Connection conn, final String sql, final StatementSetter statementSetter,
            final ResultExtractor resultExtractor, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.query(conn, sql, statementSetter, resultExtractor, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param resultExtractor
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture query(final Connection conn, final String sql, final ResultExtractor resultExtractor,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.query(conn, sql, resultExtractor, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param conn
     * @param sql
     * @param statementSetter
     * @param resultExtractor
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture query(final Connection conn, final String sql, final StatementSetter statementSetter,
            final ResultExtractor resultExtractor, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public T call() throws Exception {
                return sqlExecutor.query(conn, sql, statementSetter, resultExtractor, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryAll(final String sql, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.queryAll(sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryAll(final String sql, final StatementSetter statementSetter, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.queryAll(sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param sqls
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryAll(final List sqls, final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.queryAll(sqls, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param sqls
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture queryAll(final List sqls, final StatementSetter statementSetter, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public DataSet call() throws Exception {
                return sqlExecutor.queryAll(sqls, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> stream(final Class targetClass, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.stream(targetClass, sql, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> stream(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.stream(targetClass, sql, statementSetter, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> stream(final Class targetClass, final String sql, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.stream(targetClass, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> stream(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.stream(targetClass, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> stream(final String sql, final JdbcUtil.BiRowMapper rowMapper, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.stream(sql, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> stream(final String sql, final StatementSetter statementSetter, final JdbcUtil.BiRowMapper rowMapper,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.stream(sql, statementSetter, rowMapper, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> stream(final String sql, final JdbcUtil.BiRowMapper rowMapper, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.stream(sql, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param sql
     * @param statementSetter
     * @param rowMapper
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> stream(final String sql, final StatementSetter statementSetter, final JdbcUtil.BiRowMapper rowMapper,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.stream(sql, statementSetter, rowMapper, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> streamAll(final Class targetClass, final String sql, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.streamAll(targetClass, sql, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Remember to close the returned Stream to close the underlying ResultSet list.
     *
     * @param 
     * @param targetClass
     * @param sql
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> streamAll(final Class targetClass, final String sql, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.streamAll(targetClass, sql, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param 
     * @param targetClass
     * @param sqls
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> streamAll(final Class targetClass, final List sqls, final JdbcSettings jdbcSettings,
            final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.streamAll(targetClass, sqls, jdbcSettings, parameters);
            }
        });
    }

    /**
     * Remember to close the returned Stream to close the underlying ResultSet list.
     *
     * @param 
     * @param targetClass
     * @param sqls
     * @param statementSetter
     * @param jdbcSettings
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final  ContinuableFuture> streamAll(final Class targetClass, final List sqls, final StatementSetter statementSetter,
            final JdbcSettings jdbcSettings, final Object... parameters) {
        return asyncExecutor.execute(new Callable>() {
            @Override
            public Stream call() throws Exception {
                return sqlExecutor.streamAll(targetClass, sqls, statementSetter, jdbcSettings, parameters);
            }
        });
    }

    /**
     *
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture execute(final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Boolean call() throws Exception {
                return sqlExecutor.execute(sql, parameters);
            }
        });
    }

    /**
     *
     * @param conn
     * @param sql
     * @param parameters
     * @return
     */
    @SafeVarargs
    public final ContinuableFuture execute(final Connection conn, final String sql, final Object... parameters) {
        return asyncExecutor.execute(new Callable() {
            @Override
            public Boolean call() throws Exception {
                return sqlExecutor.execute(conn, sql, parameters);
            }
        });
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy