From 3bd0119fbf321a7ed0004d79f3f947b99547f2fb Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Thu, 11 Jul 2024 17:57:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B8=85=E7=90=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/FluentR2dbcAutoConfiguration.java | 80 ------------------- .../operations/R2dbcFluentOperations.java | 44 ---------- 2 files changed, 124 deletions(-) delete mode 100644 flyfish-data/flyfish-data-r2dbc/src/main/java/dev/flyfish/framework/r2dbc/config/FluentR2dbcAutoConfiguration.java delete mode 100644 flyfish-data/flyfish-data-r2dbc/src/main/java/dev/flyfish/framework/r2dbc/operations/R2dbcFluentOperations.java 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); -}