Menu

jdbcRepository

Gary Cheng
package com.ezshop.common.repository;

import io.reactivex.Single;
import io.reactivex.functions.Function;
import io.vertx.core.json.JsonObject;
import io.vertx.reactivex.core.Vertx;
import io.vertx.reactivex.ext.jdbc.JDBCClient;

import java.util.List;

/**

 * JDBCClientRepository
 *
 * @author Gary Cheng
 */
public class JDBCClientRepository {
    private JDBCClient jdbcClient;

    /**

     * Create a JDBCClient repository
     *
     * @param vertx  vertx instance
     * @param config database config
     * @return
     */
    public static JDBCClientRepository create(Vertx vertx, JsonObject config) {
        JDBCClientRepository repository = new JDBCClientRepository();
        repository.jdbcClient = JDBCClient.createShared(vertx, config);
        return repository;
    }

    /**

     * Execute a single SQL statement without parameter
     * @param sql
     * @param mapper
     * @param <R>
     * @return
     */
    public <R> Single<List<R>> query(String sql, Function<JsonObject, ? extends R> mapper) {

    }
}

MongoDB Logo MongoDB