public abstract class R2dbcReactiveSqlExecutor extends Object implements ReactiveSqlExecutor
ID, ID_VALUE| 构造器和说明 |
|---|
R2dbcReactiveSqlExecutor() |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
bind(io.r2dbc.spi.Statement statement,
int index,
Object value) |
protected void |
bindNull(io.r2dbc.spi.Statement statement,
int index,
Class<?> type) |
protected SqlRequest |
convertRequest(SqlRequest sqlRequest)
转换SQL为R2dbcSqlRequest,由于不同数据库的预编译占位符不同,需要进行转换
|
protected reactor.core.publisher.Flux<io.r2dbc.spi.Result> |
doExecute(io.r2dbc.spi.Connection connection,
SqlRequest request)
使用指定的Connection执行SQL并返回执行结果
|
reactor.core.publisher.Mono<Void> |
execute(org.reactivestreams.Publisher<SqlRequest> request)
执行SQL语句,忽略结果.
|
protected int |
getBindFirstIndex() |
protected String |
getBindSymbol() |
protected abstract reactor.core.publisher.Mono<io.r2dbc.spi.Connection> |
getConnection()
获取连接
|
protected io.r2dbc.spi.Statement |
prepareStatement(io.r2dbc.spi.Statement statement,
SqlRequest request) |
protected abstract void |
releaseConnection(reactor.core.publisher.SignalType type,
io.r2dbc.spi.Connection connection)
释放连接,不建议实现此方法,推荐在getConnection里使用
Mono.usingWhen(Publisher, Function, Function)来处理. |
<E> reactor.core.publisher.Flux<E> |
select(org.reactivestreams.Publisher<SqlRequest> request,
ResultWrapper<E,?> wrapper)
执行查询语句,并使用同一个包装器包装返回结果
|
protected reactor.core.publisher.Flux<SqlRequest> |
toFlux(org.reactivestreams.Publisher<SqlRequest> request)
将SQL流转为Flux
|
reactor.core.publisher.Mono<Integer> |
update(org.reactivestreams.Publisher<SqlRequest> request)
执行更新语句,支持 update,delete,insert
|
protected abstract reactor.core.publisher.Mono<io.r2dbc.spi.Connection> getConnection()
protected abstract void releaseConnection(reactor.core.publisher.SignalType type,
io.r2dbc.spi.Connection connection)
Mono.usingWhen(Publisher, Function, Function)来处理.type - typeconnection - connectionprotected reactor.core.publisher.Flux<io.r2dbc.spi.Result> doExecute(io.r2dbc.spi.Connection connection,
SqlRequest request)
connection - Connectionrequest - SQLpublic reactor.core.publisher.Mono<Integer> update(org.reactivestreams.Publisher<SqlRequest> request)
ReactiveSqlExecutorupdate 在接口中 ReactiveSqlExecutorrequest - SQL请求public reactor.core.publisher.Mono<Void> execute(org.reactivestreams.Publisher<SqlRequest> request)
ReactiveSqlExecutorexecute 在接口中 ReactiveSqlExecutorrequest - SQL请求public <E> reactor.core.publisher.Flux<E> select(org.reactivestreams.Publisher<SqlRequest> request, ResultWrapper<E,?> wrapper)
ReactiveSqlExecutorselect 在接口中 ReactiveSqlExecutorrequest - 查询请求流wrapper - 结果包装器protected reactor.core.publisher.Flux<SqlRequest> toFlux(org.reactivestreams.Publisher<SqlRequest> request)
request - protected SqlRequest convertRequest(SqlRequest sqlRequest)
sqlRequest - SqlRequestprotected String getBindSymbol()
protected int getBindFirstIndex()
protected void bindNull(io.r2dbc.spi.Statement statement,
int index,
Class<?> type)
protected void bind(io.r2dbc.spi.Statement statement,
int index,
Object value)
protected io.r2dbc.spi.Statement prepareStatement(io.r2dbc.spi.Statement statement,
SqlRequest request)
Copyright © 2023. All rights reserved.