diff --git a/flyfish-data/flyfish-data-r2dbc/src/main/java/dev/flyfish/framework/r2dbc/config/FluentR2dbcAutoConfiguration.java b/flyfish-data/flyfish-data-r2dbc/src/main/java/dev/flyfish/framework/r2dbc/config/FluentR2dbcAutoConfiguration.java deleted file mode 100644 index f5c9bed..0000000 --- a/flyfish-data/flyfish-data-r2dbc/src/main/java/dev/flyfish/framework/r2dbc/config/FluentR2dbcAutoConfiguration.java +++ /dev/null @@ -1,80 +0,0 @@ -package dev.flyfish.framework.r2dbc.config; - -import dev.flyfish.framework.r2dbc.operations.R2dbcFluentOperations; -import group.flyfish.fluent.chain.common.ExecutableSql; -import group.flyfish.fluent.entity.SQLEntity; -import group.flyfish.fluent.operations.FluentSQLOperations; -import lombok.RequiredArgsConstructor; -import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.context.annotation.Bean; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.r2dbc.core.DatabaseClient; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -/** - * fluent风格的sql编写支持 - * 基于fluent sql - * - * @author wangyu - */ -@ConditionalOnClass(FluentSQLOperations.class) -@ConditionalOnBean(DatabaseClient.class) -class FluentR2dbcAutoConfiguration { - - @Bean - @ConditionalOnMissingBean - public R2dbcFluentOperations r2dbcFluentOperations(DatabaseClient databaseClient) { - return new DefaultFluentOperations(databaseClient); - } - - /** - * 默认的实现 - * - * @author wangyu - */ - @RequiredArgsConstructor - private static class DefaultFluentOperations implements R2dbcFluentOperations { - - private final DatabaseClient databaseClient; - - @Override - public Mono findOne(ExecutableSql sql) { - SQLEntity entity = new SQLEntity(); - DatabaseClient.GenericExecuteSpec spec = databaseClient.sql(entity::getSql); - Object[] bindings = entity.getParameters(); - for (int i = 0; i < bindings.length; i++) { - spec.bind(i, bindings[i]); - } - return spec.mapValue() - } - - @Override - public Flux find(ExecutableSql sql) { - return null; - } - - @Override - public Mono> find(ExecutableSql sql, Pageable pageable) { - return null; - } - - @Override - public Mono findOne(ExecutableSql sql, Class resultType) { - return null; - } - - @Override - public Flux find(ExecutableSql sql, Class resultType) { - return null; - } - - @Override - public Mono> find(ExecutableSql sql, Pageable pageable, Class resultType) { - return null; - } - } -} diff --git a/flyfish-data/flyfish-data-r2dbc/src/main/java/dev/flyfish/framework/r2dbc/operations/R2dbcFluentOperations.java b/flyfish-data/flyfish-data-r2dbc/src/main/java/dev/flyfish/framework/r2dbc/operations/R2dbcFluentOperations.java deleted file mode 100644 index f4ece9f..0000000 --- a/flyfish-data/flyfish-data-r2dbc/src/main/java/dev/flyfish/framework/r2dbc/operations/R2dbcFluentOperations.java +++ /dev/null @@ -1,44 +0,0 @@ -package dev.flyfish.framework.r2dbc.operations; - -import group.flyfish.fluent.chain.common.ExecutableSql; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -/** - * 我们为实际开发提供了响应式链,避免写sql - * - * @author wangyu - */ -public interface R2dbcFluentOperations { - - /** - * 查询单个 - * - * @param sql 可执行sql - * @param resultType 结果类型 - * @param 泛型 - * @return 结果 - */ - Mono findOne(ExecutableSql sql, Class resultType); - - /** - * 查询单个 - * - * @param sql 可执行sql - * @param resultType 结果类型 - * @param 泛型 - * @return 结果 - */ - Flux find(ExecutableSql sql, Class resultType); - - /** - * 查询分页对象 - * - * @param sql 可执行sql - * @param 泛型 - * @return 结果 - */ - Mono> find(ExecutableSql sql, Pageable pageable, Class resultType); -}