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) {
}
}