Class SqlTemplate<I,R>
- java.lang.Object
-
- io.vertx.reactivex.sqlclient.templates.SqlTemplate<I,R>
-
public class SqlTemplate<I,R> extends Object
An SQL template.SQL templates are useful for interacting with a relational database.
SQL templates execute queries using named instead of positional parameters. Query execution is parameterized by a map of string to objects instead of a
Tuple
. The default source of parameters is a simple map, a user defined mapping can be used instead given it maps the source to such a map.SQL template default results are , a user defined mapping can be used instead, mapping the result set to a of the mapped type.
NOTE: This class has been automatically generated from theoriginal
non RX-ified interface using Vert.x codegen.
-
-
Field Summary
Fields Modifier and Type Field Description static TypeArg<SqlTemplate>
__TYPE_ARG
TypeArg<I>
__typeArg_0
TypeArg<R>
__typeArg_1
-
Constructor Summary
Constructors Constructor Description SqlTemplate(SqlTemplate delegate)
SqlTemplate(Object delegate, TypeArg<I> typeArg_0, TypeArg<R> typeArg_1)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
void
execute(I parameters)
Execute the query with theparameters
void
execute(I parameters, Handler<AsyncResult<R>> handler)
Execute the query with theparameters
void
executeBatch(List<I> batch)
Execute a batch query with thebatch
.void
executeBatch(List<I> batch, Handler<AsyncResult<R>> handler)
Execute a batch query with thebatch
.static SqlTemplate<Map<String,Object>,RowSet<Row>>
forQuery(SqlClient client, String template)
Create an SQL template for query purpose consuming map parameters and returning .static SqlTemplate<Map<String,Object>,SqlResult<Void>>
forUpdate(SqlClient client, String template)
Create an SQL template for query purpose consuming map parameters and returning void.SqlTemplate
getDelegate()
int
hashCode()
<T> SqlTemplate<T,R>
mapFrom(TupleMapper<T> mapper)
Set a parameters user defined mapping function.<T> SqlTemplate<T,R>
mapFrom(Class<T> type)
Set a parameters user defined class mapping.<U> SqlTemplate<I,RowSet<U>>
mapTo(RowMapper<U> mapper)
Set a row user defined mapping function.<U> SqlTemplate<I,RowSet<U>>
mapTo(Class<U> type)
Set a row user defined mapping function.static <I,R>
SqlTemplate<I,R>newInstance(SqlTemplate arg)
static <I,R>
SqlTemplate<I,R>newInstance(SqlTemplate arg, TypeArg<I> __typeArg_I, TypeArg<R> __typeArg_R)
io.reactivex.Single<R>
rxExecute(I parameters)
Execute the query with theparameters
io.reactivex.Single<R>
rxExecuteBatch(List<I> batch)
Execute a batch query with thebatch
.String
toString()
-
-
-
Method Detail
-
getDelegate
public SqlTemplate getDelegate()
-
forQuery
public static SqlTemplate<Map<String,Object>,RowSet<Row>> forQuery(SqlClient client, String template)
Create an SQL template for query purpose consuming map parameters and returning .- Parameters:
client
- the wrapped SQL clienttemplate
- the template query string- Returns:
- the template
-
forUpdate
public static SqlTemplate<Map<String,Object>,SqlResult<Void>> forUpdate(SqlClient client, String template)
Create an SQL template for query purpose consuming map parameters and returning void.- Parameters:
client
- the wrapped SQL clienttemplate
- the template update string- Returns:
- the template
-
mapFrom
public <T> SqlTemplate<T,R> mapFrom(TupleMapper<T> mapper)
Set a parameters user defined mapping function.At query execution, the
mapper
is called to map the parameters object to aTuple
that configures the prepared query.- Parameters:
mapper
- the mapping function- Returns:
- a new template
-
mapFrom
public <T> SqlTemplate<T,R> mapFrom(Class<T> type)
Set a parameters user defined class mapping.At query execution, the parameters object is is mapped to a
Map
that configures the prepared query.This feature relies on
JsonObject
feature. This likely requires to use Jackson databind in the project.- Parameters:
type
- the mapping type- Returns:
- a new template
-
mapTo
public <U> SqlTemplate<I,RowSet<U>> mapTo(RowMapper<U> mapper)
Set a row user defined mapping function.When the query execution completes, the
mapper
function is called to map the resulting rows to objects.- Parameters:
mapper
- the mapping function- Returns:
- a new template
-
mapTo
public <U> SqlTemplate<I,RowSet<U>> mapTo(Class<U> type)
Set a row user defined mapping function.When the query execution completes, resulting rows are mapped to
type
instances.This feature relies on
JsonObject
feature. This likely requires to use Jackson databind in the project.- Parameters:
type
- the mapping type- Returns:
- a new template
-
execute
public void execute(I parameters, Handler<AsyncResult<R>> handler)
Execute the query with theparameters
- Parameters:
parameters
- the query parametershandler
- the result handler
-
execute
public void execute(I parameters)
Execute the query with theparameters
- Parameters:
parameters
- the query parameters
-
rxExecute
public io.reactivex.Single<R> rxExecute(I parameters)
Execute the query with theparameters
- Parameters:
parameters
- the query parameters- Returns:
-
executeBatch
public void executeBatch(List<I> batch, Handler<AsyncResult<R>> handler)
Execute a batch query with thebatch
.Each item in the batch is mapped to a tuple.
- Parameters:
batch
- the batchhandler
- the result handler
-
executeBatch
public void executeBatch(List<I> batch)
Execute a batch query with thebatch
.Each item in the batch is mapped to a tuple.
- Parameters:
batch
- the batch
-
rxExecuteBatch
public io.reactivex.Single<R> rxExecuteBatch(List<I> batch)
Execute a batch query with thebatch
.Each item in the batch is mapped to a tuple.
- Parameters:
batch
- the batch- Returns:
-
newInstance
public static <I,R> SqlTemplate<I,R> newInstance(SqlTemplate arg)
-
newInstance
public static <I,R> SqlTemplate<I,R> newInstance(SqlTemplate arg, TypeArg<I> __typeArg_I, TypeArg<R> __typeArg_R)
-
-