From 45940fc5e8cb0ee6e7777c070e3fe53af4af7ad5 Mon Sep 17 00:00:00 2001
From: wangyu <727842003@qq.com>
Date: Wed, 3 Aug 2022 16:39:25 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=8B=E4=B8=80=E4=BB=A3=E5=A4=A7?=
=?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
flyfish-data/README.md | 11 ++
flyfish-data/flyfish-data-common/pom.xml | 54 +++++++++
.../framework/adaptor/CriteriaAdaptor.java | 105 ++++++++++++++++++
.../framework/adaptor/CriteriaAdaptors.java | 34 ++++++
.../com/flyfish/framework/adaptor/README.md | 4 +
.../adaptor/spi/CriteriaAdaptorFactory.java | 26 +++++
.../framework/annotations/CodeRule.java | 0
.../framework/annotations/ComputedProps.java | 0
.../framework/annotations/ConditionOn.java | 0
.../framework/annotations/DBRefValue.java | 0
.../framework/annotations/DateRange.java | 0
.../framework/annotations/DictValue.java | 0
.../annotations/EnableEnumEndpoint.java | 0
.../annotations/EnableMongoRepo.java | 0
.../annotations/EnablePropertyEncrypt.java | 0
.../annotations/EnableReactiveMongoRepo.java | 0
.../framework/annotations/EnumValue.java | 0
.../framework/annotations/FormItem.java | 0
.../framework/annotations/Generation.java | 0
.../framework/annotations/MappedTo.java | 0
.../framework/annotations/Operation.java | 0
.../flyfish/framework/annotations/Order.java | 0
.../framework/annotations/Properties.java | 0
.../framework/annotations/Property.java | 0
.../framework/annotations/PropertyGroup.java | 0
.../framework/annotations/PropertyGroups.java | 0
.../framework/auditor/AuthorizeAuditor.java | 0
.../framework/auditor/BeanAuditor.java | 0
.../flyfish/framework/auditor/BeanPoster.java | 0
.../framework/auditor/CommonBeanAuditor.java | 0
.../framework/auditor/OperationAuditor.java | 0
.../auditor/ReactiveAuthorizeAuditor.java | 0
.../auditor/ReactiveBeanAuditor.java | 0
.../framework/auditor/ReactiveBeanPoster.java | 0
.../auditor/ReactiveCommonBeanAuditor.java | 0
.../auditor/ReactiveOperationAuditor.java | 0
.../framework/builder/CriteriaBuilder.java | 0
.../builder/CriteriaBuilderProvider.java | 10 ++
.../framework/config/CodeRuleConfig.java | 0
.../framework/config/DecryptConfig.java | 0
.../flyfish/framework/config/EnumConfig.java | 0
.../AESEncryptablePropertyResolver.java | 0
.../context/ReactiveUserContext.java | 0
.../framework/context/UserContext.java | 0
.../framework/context/ViewModelContext.java | 0
.../interceptor/ViewModelInterceptor.java | 0
.../authorized/AbstractAuthorizedQo.java | 0
.../domain/authorized/AuthorizedDomain.java | 0
.../domain/authorized/AuthorizedQo.java | 0
.../authorized/AuthorizedUserDetails.java | 0
.../domain/authorized/AuthorizedVo.java | 0
.../advanced/OwnedAuthorizedDomain.java | 0
.../advanced/OwnedAuthorizedQo.java | 0
.../framework/domain/base/AuditDomain.java | 0
.../flyfish/framework/domain/base/BaseQo.java | 0
.../flyfish/framework/domain/base/Domain.java | 0
.../framework/domain/base/DomainService.java | 0
.../flyfish/framework/domain/base/Dto.java | 0
.../flyfish/framework/domain/base/IUser.java | 0
.../framework/domain/base/NameLikeQo.java | 0
.../flyfish/framework/domain/base/Named.java | 0
.../com/flyfish/framework/domain/base/Po.java | 0
.../com/flyfish/framework/domain/base/Qo.java | 0
.../com/flyfish/framework/domain/base/Vo.java | 0
.../framework/domain/po/Department.java | 0
.../framework/domain/po/ExcelMapping.java | 0
.../framework/domain/po/Permission.java | 0
.../com/flyfish/framework/domain/po/Role.java | 0
.../com/flyfish/framework/domain/po/User.java | 0
.../framework/domain/tree/RootTreeNode.java | 0
.../framework/domain/tree/TreeDomain.java | 0
.../flyfish/framework/domain/tree/TreeQo.java | 0
.../generation/CodeRuleStrategy.java | 0
.../framework/generation/CodeRules.java | 0
.../strategy/TransactionCodeRuleStrategy.java | 0
.../strategy/UUIDCodeRuleStrategy.java | 0
.../repository/DefaultReactiveRepository.java | 0
.../repository/DefaultRepository.java | 0
.../repository/QueryModelExecutor.java | 0
.../ReactiveQueryModelExecutor.java | 0
.../repository/base/DomainRepository.java | 0
.../DefaultReactiveRepositoryFactory.java | 1 -
.../DefaultReactiveRepositoryFactoryBean.java | 0
.../factory/DefaultRepositoryFactory.java | 0
.../factory/DefaultRepositoryFactoryBean.java | 0
.../impl/DefaultReactiveRepositoryImpl.java | 0
.../impl/DefaultRepositoryImpl.java | 0
.../repository/impl/QueryBuildUtils.java | 0
.../impl/ReactivePageableExecutionUtils.java | 0
.../flyfish/framework/utils/CopyUtils.java | 0
.../framework/utils/CriteriaUtils.java | 0
.../flyfish/framework/utils/DataUtils.java | 0
.../framework/utils/DateRangeUtil.java | 0
.../flyfish/framework/utils/DepartUtils.java | 0
.../flyfish/framework/utils/FieldUtils.java | 0
.../com/flyfish/framework/utils/HexUtils.java | 0
.../com/flyfish/framework/utils/Query.java | 0
flyfish-data/flyfish-data-mongodb/pom.xml | 19 ++++
flyfish-data/flyfish-data-r2dbc/pom.xml | 34 ++++++
.../adaptor/R2DbcCriteriaAdaptorFactory.java | 34 ++++++
.../r2dbc/config/R2dbcDataConfig.java | 17 +++
flyfish-data/pom.xml | 38 +------
flyfish-form/pom.xml | 2 +-
flyfish-user/pom.xml | 2 +-
flyfish-web/pom.xml | 2 +-
105 files changed, 357 insertions(+), 36 deletions(-)
create mode 100644 flyfish-data/README.md
create mode 100644 flyfish-data/flyfish-data-common/pom.xml
create mode 100644 flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/CriteriaAdaptor.java
create mode 100644 flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/CriteriaAdaptors.java
create mode 100644 flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/README.md
create mode 100644 flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/spi/CriteriaAdaptorFactory.java
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/CodeRule.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/ComputedProps.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/ConditionOn.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/DBRefValue.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/DateRange.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/DictValue.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/EnableEnumEndpoint.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/EnableMongoRepo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/EnablePropertyEncrypt.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/EnumValue.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/FormItem.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/Generation.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/MappedTo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/Operation.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/Order.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/Properties.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/Property.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/PropertyGroup.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/annotations/PropertyGroups.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/auditor/AuthorizeAuditor.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/auditor/BeanAuditor.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/auditor/BeanPoster.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/auditor/CommonBeanAuditor.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/auditor/OperationAuditor.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/auditor/ReactiveAuthorizeAuditor.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/auditor/ReactiveBeanAuditor.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/auditor/ReactiveBeanPoster.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/auditor/ReactiveCommonBeanAuditor.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/auditor/ReactiveOperationAuditor.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/builder/CriteriaBuilder.java (100%)
create mode 100644 flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/builder/CriteriaBuilderProvider.java
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/config/CodeRuleConfig.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/config/DecryptConfig.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/config/EnumConfig.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/config/encrypt/AESEncryptablePropertyResolver.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/context/ReactiveUserContext.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/context/UserContext.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/context/ViewModelContext.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/context/interceptor/ViewModelInterceptor.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/authorized/AbstractAuthorizedQo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedDomain.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedQo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedUserDetails.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedVo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/authorized/advanced/OwnedAuthorizedDomain.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/authorized/advanced/OwnedAuthorizedQo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/base/AuditDomain.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/base/BaseQo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/base/Domain.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/base/DomainService.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/base/Dto.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/base/IUser.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/base/NameLikeQo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/base/Named.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/base/Po.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/base/Qo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/base/Vo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/po/Department.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/po/ExcelMapping.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/po/Permission.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/po/Role.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/po/User.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/tree/RootTreeNode.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/tree/TreeDomain.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/domain/tree/TreeQo.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/generation/CodeRuleStrategy.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/generation/CodeRules.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/generation/strategy/TransactionCodeRuleStrategy.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/generation/strategy/UUIDCodeRuleStrategy.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/DefaultReactiveRepository.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/DefaultRepository.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/QueryModelExecutor.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/ReactiveQueryModelExecutor.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/base/DomainRepository.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactory.java (92%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactoryBean.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/factory/DefaultRepositoryFactory.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/factory/DefaultRepositoryFactoryBean.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/impl/DefaultReactiveRepositoryImpl.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/impl/DefaultRepositoryImpl.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/impl/QueryBuildUtils.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/repository/impl/ReactivePageableExecutionUtils.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/utils/CopyUtils.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/utils/CriteriaUtils.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/utils/DataUtils.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/utils/DateRangeUtil.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/utils/DepartUtils.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/utils/FieldUtils.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/utils/HexUtils.java (100%)
rename flyfish-data/{ => flyfish-data-common}/src/main/java/com/flyfish/framework/utils/Query.java (100%)
create mode 100644 flyfish-data/flyfish-data-mongodb/pom.xml
create mode 100644 flyfish-data/flyfish-data-r2dbc/pom.xml
create mode 100644 flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/adaptor/R2DbcCriteriaAdaptorFactory.java
create mode 100644 flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/R2dbcDataConfig.java
diff --git a/flyfish-data/README.md b/flyfish-data/README.md
new file mode 100644
index 0000000..30717e0
--- /dev/null
+++ b/flyfish-data/README.md
@@ -0,0 +1,11 @@
+# 核心数据框架
+
+本模块是flyfish framework的最核心能力
+其提供无感知的多种数据源支持,并完整适配了mongodb和rdbms的查询表现,
+用户只需要用一套api即可完成数据的查询或修改,无需为了底层实现而大费周章重新开发。
+
+## 核心架构
+1. 基于Spring SPI模式,声明式注入查询实现工厂,动态替换查询构建逻辑
+2. 按需引入,不浪费任何依赖,节省空间。使用maven的按需引入模式,让打包后的结果不必因为重量级的框架而变得冗余
+3. 指哪打哪,稳定快速。集成最新版本的spring mongo引擎和spring data r2dbc
+4. 核心框架广泛使用,保证"0bug"。
diff --git a/flyfish-data/flyfish-data-common/pom.xml b/flyfish-data/flyfish-data-common/pom.xml
new file mode 100644
index 0000000..f846226
--- /dev/null
+++ b/flyfish-data/flyfish-data-common/pom.xml
@@ -0,0 +1,54 @@
+
+
+
+ flyfish-data
+ com.flyfish.framework
+ 0.0.1-SNAPSHOT
+
+ 4.0.0
+
+ flyfish-data-common
+
+
+ 8
+ 8
+
+
+
+
+ com.flyfish.framework
+ flyfish-common
+ ${project.version}
+
+
+
+ org.springframework.security
+ spring-security-core
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-mongodb-reactive
+ true
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-mongodb
+ true
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-r2dbc
+ true
+
+
+
+ com.github.ulisesbocchio
+ jasypt-spring-boot-starter
+
+
+
diff --git a/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/CriteriaAdaptor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/CriteriaAdaptor.java
new file mode 100644
index 0000000..3c15229
--- /dev/null
+++ b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/CriteriaAdaptor.java
@@ -0,0 +1,105 @@
+package com.flyfish.framework.adaptor;
+
+import org.bson.BsonRegularExpression;
+import org.springframework.data.domain.Example;
+import org.springframework.data.geo.Circle;
+import org.springframework.data.geo.Point;
+import org.springframework.data.geo.Shape;
+import org.springframework.data.mongodb.core.geo.GeoJson;
+import org.springframework.data.mongodb.core.schema.JsonSchemaObject;
+
+import java.util.Collection;
+import java.util.regex.Pattern;
+
+/**
+ * 查询适配器
+ *
+ * @author wangyu
+ * 由工厂进行实例化,并输出
+ */
+public interface CriteriaAdaptor {
+
+ CriteriaAdaptor and(String key);
+
+ CriteriaAdaptor is(Object value);
+
+ CriteriaAdaptor isNull();
+
+ CriteriaAdaptor isNullValue();
+
+ CriteriaAdaptor ne(Object value);
+
+ CriteriaAdaptor lt(Object value);
+
+ CriteriaAdaptor lte(Object value);
+
+ CriteriaAdaptor gt(Object value);
+
+ CriteriaAdaptor gte(Object value);
+
+ CriteriaAdaptor in(Object... values);
+
+ CriteriaAdaptor in(Collection> values);
+
+ CriteriaAdaptor nin(Object... values);
+
+ CriteriaAdaptor nin(Collection> values);
+
+ CriteriaAdaptor mod(Number value, Number remainder);
+
+ CriteriaAdaptor all(Object... values);
+
+ CriteriaAdaptor all(Collection> values);
+
+ CriteriaAdaptor size(int size);
+
+ CriteriaAdaptor exists(boolean value);
+
+ CriteriaAdaptor sampleRate(double sampleRate);
+
+ CriteriaAdaptor type(int typeNumber);
+
+ CriteriaAdaptor type(JsonSchemaObject.Type... types);
+
+ CriteriaAdaptor type(Collection types);
+
+ CriteriaAdaptor not();
+
+ CriteriaAdaptor regex(String regex);
+
+ CriteriaAdaptor regex(String regex, String options);
+
+ CriteriaAdaptor regex(Pattern pattern);
+
+ CriteriaAdaptor regex(BsonRegularExpression regex);
+
+ CriteriaAdaptor withinSphere(Circle circle);
+
+ CriteriaAdaptor within(Shape shape);
+
+ CriteriaAdaptor near(Point point);
+
+ CriteriaAdaptor nearSphere(Point point);
+
+ CriteriaAdaptor intersects(GeoJson geoJson);
+
+ CriteriaAdaptor maxDistance(double maxDistance);
+
+ CriteriaAdaptor minDistance(double minDistance);
+
+ CriteriaAdaptor elemMatch(CriteriaAdaptor criteria);
+
+ CriteriaAdaptor alike(Example> sample);
+
+ CriteriaAdaptor orOperator(CriteriaAdaptor... criteria);
+
+ CriteriaAdaptor orOperator(Collection criteria);
+
+ CriteriaAdaptor norOperator(CriteriaAdaptor... criteria);
+
+ CriteriaAdaptor norOperator(Collection criteria);
+
+ CriteriaAdaptor andOperator(CriteriaAdaptor... criteria);
+
+ CriteriaAdaptor andOperator(Collection criteria);
+}
diff --git a/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/CriteriaAdaptors.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/CriteriaAdaptors.java
new file mode 100644
index 0000000..c3771ca
--- /dev/null
+++ b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/CriteriaAdaptors.java
@@ -0,0 +1,34 @@
+package com.flyfish.framework.adaptor;
+
+import com.flyfish.framework.adaptor.spi.CriteriaAdaptorFactory;
+import org.springframework.core.io.support.SpringFactoriesLoader;
+import org.springframework.dao.InvalidDataAccessApiUsageException;
+
+import java.util.List;
+
+/**
+ * 可以通过该工具类快速创建适配器
+ *
+ * @author wangyu
+ */
+public final class CriteriaAdaptors {
+
+ private static final List FACTORIES =
+ SpringFactoriesLoader.loadFactories(CriteriaAdaptorFactory.class, null);
+
+ public static CriteriaAdaptor getAdaptor() {
+ return FACTORIES.stream()
+ .findFirst()
+ .map(CriteriaAdaptorFactory::produce)
+ .orElseThrow(() -> new InvalidDataAccessApiUsageException("未实现当前查询的适配工厂!"));
+ }
+
+
+ public static CriteriaAdaptor getAdaptor(Object criteria) {
+ return FACTORIES.stream()
+ .filter(factory -> factory.criteriaType().isAssignableFrom(criteria.getClass()))
+ .findFirst()
+ .map(CriteriaAdaptorFactory::produce)
+ .orElseThrow(() -> new InvalidDataAccessApiUsageException("未实现当前查询的适配工厂!"));
+ }
+}
diff --git a/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/README.md b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/README.md
new file mode 100644
index 0000000..3aacfde
--- /dev/null
+++ b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/README.md
@@ -0,0 +1,4 @@
+# 查询构建Fluent Api适配器
+同时适配关系型数据库mysql和非关系型数据库mongodb
+
+未来将会支持更多,采用覆盖的方式进行对象组合
diff --git a/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/spi/CriteriaAdaptorFactory.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/spi/CriteriaAdaptorFactory.java
new file mode 100644
index 0000000..192fe7a
--- /dev/null
+++ b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/adaptor/spi/CriteriaAdaptorFactory.java
@@ -0,0 +1,26 @@
+package com.flyfish.framework.adaptor.spi;
+
+import com.flyfish.framework.adaptor.CriteriaAdaptor;
+
+/**
+ * 查询适配器
+ * 基于spi提供实现类,最终返回对应的
+ *
+ * @author wangyu
+ */
+public interface CriteriaAdaptorFactory {
+
+ /**
+ * 生产适配器
+ *
+ * @return 结果
+ */
+ CriteriaAdaptor produce();
+
+ /**
+ * 查询类型
+ *
+ * @return 结果
+ */
+ Class> criteriaType();
+}
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/CodeRule.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/CodeRule.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/CodeRule.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/CodeRule.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/ComputedProps.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/ComputedProps.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/ComputedProps.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/ComputedProps.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/ConditionOn.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/ConditionOn.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/ConditionOn.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/ConditionOn.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/DBRefValue.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/DBRefValue.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/DBRefValue.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/DBRefValue.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/DateRange.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/DateRange.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/DateRange.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/DateRange.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/DictValue.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/DictValue.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/DictValue.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/DictValue.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableEnumEndpoint.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/EnableEnumEndpoint.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableEnumEndpoint.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/EnableEnumEndpoint.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableMongoRepo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/EnableMongoRepo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableMongoRepo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/EnableMongoRepo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnablePropertyEncrypt.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/EnablePropertyEncrypt.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/EnablePropertyEncrypt.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/EnablePropertyEncrypt.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnumValue.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/EnumValue.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/EnumValue.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/EnumValue.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/FormItem.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/FormItem.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/FormItem.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/FormItem.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/Generation.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/Generation.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/Generation.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/Generation.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/MappedTo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/MappedTo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/MappedTo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/MappedTo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/Operation.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/Operation.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/Operation.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/Operation.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/Order.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/Order.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/Order.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/Order.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/Properties.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/Properties.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/Properties.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/Properties.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/Property.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/Property.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/Property.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/Property.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/PropertyGroup.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/PropertyGroup.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/PropertyGroup.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/PropertyGroup.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/PropertyGroups.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/PropertyGroups.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/annotations/PropertyGroups.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/annotations/PropertyGroups.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/AuthorizeAuditor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/AuthorizeAuditor.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/auditor/AuthorizeAuditor.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/AuthorizeAuditor.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/BeanAuditor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/BeanAuditor.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/auditor/BeanAuditor.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/BeanAuditor.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/BeanPoster.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/BeanPoster.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/auditor/BeanPoster.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/BeanPoster.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/CommonBeanAuditor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/CommonBeanAuditor.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/auditor/CommonBeanAuditor.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/CommonBeanAuditor.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/OperationAuditor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/OperationAuditor.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/auditor/OperationAuditor.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/OperationAuditor.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveAuthorizeAuditor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/ReactiveAuthorizeAuditor.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveAuthorizeAuditor.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/ReactiveAuthorizeAuditor.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveBeanAuditor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/ReactiveBeanAuditor.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveBeanAuditor.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/ReactiveBeanAuditor.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveBeanPoster.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/ReactiveBeanPoster.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveBeanPoster.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/ReactiveBeanPoster.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveCommonBeanAuditor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/ReactiveCommonBeanAuditor.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveCommonBeanAuditor.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/ReactiveCommonBeanAuditor.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveOperationAuditor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/ReactiveOperationAuditor.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/auditor/ReactiveOperationAuditor.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/auditor/ReactiveOperationAuditor.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/builder/CriteriaBuilder.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/builder/CriteriaBuilder.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/builder/CriteriaBuilder.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/builder/CriteriaBuilder.java
diff --git a/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/builder/CriteriaBuilderProvider.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/builder/CriteriaBuilderProvider.java
new file mode 100644
index 0000000..bc2cba8
--- /dev/null
+++ b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/builder/CriteriaBuilderProvider.java
@@ -0,0 +1,10 @@
+package com.flyfish.framework.builder;
+
+/**
+ * 查询构建器提供者
+ * @author wangyu-
+ */
+public interface CriteriaBuilderProvider {
+
+
+}
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/config/CodeRuleConfig.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/config/CodeRuleConfig.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/config/CodeRuleConfig.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/config/CodeRuleConfig.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/config/DecryptConfig.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/config/DecryptConfig.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/config/DecryptConfig.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/config/DecryptConfig.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/config/EnumConfig.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/config/EnumConfig.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/config/EnumConfig.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/config/EnumConfig.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/config/encrypt/AESEncryptablePropertyResolver.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/config/encrypt/AESEncryptablePropertyResolver.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/config/encrypt/AESEncryptablePropertyResolver.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/config/encrypt/AESEncryptablePropertyResolver.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/context/ReactiveUserContext.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/context/ReactiveUserContext.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/context/ReactiveUserContext.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/context/ReactiveUserContext.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/context/UserContext.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/context/UserContext.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/context/UserContext.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/context/UserContext.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/context/ViewModelContext.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/context/ViewModelContext.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/context/ViewModelContext.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/context/ViewModelContext.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/context/interceptor/ViewModelInterceptor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/context/interceptor/ViewModelInterceptor.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/context/interceptor/ViewModelInterceptor.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/context/interceptor/ViewModelInterceptor.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AbstractAuthorizedQo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/AbstractAuthorizedQo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AbstractAuthorizedQo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/AbstractAuthorizedQo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedDomain.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedDomain.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedDomain.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedDomain.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedQo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedQo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedQo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedQo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedUserDetails.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedUserDetails.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedUserDetails.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedUserDetails.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedVo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedVo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedVo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/AuthorizedVo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/advanced/OwnedAuthorizedDomain.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/advanced/OwnedAuthorizedDomain.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/advanced/OwnedAuthorizedDomain.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/advanced/OwnedAuthorizedDomain.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/advanced/OwnedAuthorizedQo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/advanced/OwnedAuthorizedQo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/authorized/advanced/OwnedAuthorizedQo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/authorized/advanced/OwnedAuthorizedQo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/AuditDomain.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/AuditDomain.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/base/AuditDomain.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/AuditDomain.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/BaseQo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/BaseQo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/base/BaseQo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/BaseQo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Domain.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Domain.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/base/Domain.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Domain.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/DomainService.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/DomainService.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/base/DomainService.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/DomainService.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Dto.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Dto.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/base/Dto.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Dto.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/IUser.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/IUser.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/base/IUser.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/IUser.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/NameLikeQo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/NameLikeQo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/base/NameLikeQo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/NameLikeQo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Named.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Named.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/base/Named.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Named.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Po.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Po.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/base/Po.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Po.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Qo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Qo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/base/Qo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Qo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Vo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Vo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/base/Vo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/base/Vo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/po/Department.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/po/Department.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/po/Department.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/po/Department.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/po/ExcelMapping.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/po/ExcelMapping.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/po/ExcelMapping.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/po/ExcelMapping.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/po/Permission.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/po/Permission.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/po/Permission.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/po/Permission.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/po/Role.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/po/Role.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/po/Role.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/po/Role.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/po/User.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/po/User.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/po/User.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/po/User.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/tree/RootTreeNode.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/tree/RootTreeNode.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/tree/RootTreeNode.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/tree/RootTreeNode.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/tree/TreeDomain.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/tree/TreeDomain.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/tree/TreeDomain.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/tree/TreeDomain.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/tree/TreeQo.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/tree/TreeQo.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/domain/tree/TreeQo.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/domain/tree/TreeQo.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/generation/CodeRuleStrategy.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/generation/CodeRuleStrategy.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/generation/CodeRuleStrategy.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/generation/CodeRuleStrategy.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/generation/CodeRules.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/generation/CodeRules.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/generation/CodeRules.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/generation/CodeRules.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/generation/strategy/TransactionCodeRuleStrategy.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/generation/strategy/TransactionCodeRuleStrategy.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/generation/strategy/TransactionCodeRuleStrategy.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/generation/strategy/TransactionCodeRuleStrategy.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/generation/strategy/UUIDCodeRuleStrategy.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/generation/strategy/UUIDCodeRuleStrategy.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/generation/strategy/UUIDCodeRuleStrategy.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/generation/strategy/UUIDCodeRuleStrategy.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/DefaultReactiveRepository.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/DefaultReactiveRepository.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/DefaultReactiveRepository.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/DefaultReactiveRepository.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/DefaultRepository.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/DefaultRepository.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/DefaultRepository.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/DefaultRepository.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/QueryModelExecutor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/QueryModelExecutor.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/QueryModelExecutor.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/QueryModelExecutor.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/ReactiveQueryModelExecutor.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/ReactiveQueryModelExecutor.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/ReactiveQueryModelExecutor.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/ReactiveQueryModelExecutor.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/base/DomainRepository.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/base/DomainRepository.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/base/DomainRepository.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/base/DomainRepository.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactory.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactory.java
similarity index 92%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactory.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactory.java
index a58f320..04b61d1 100644
--- a/flyfish-data/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactory.java
+++ b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactory.java
@@ -1,6 +1,5 @@
package com.flyfish.framework.repository.factory;
-import com.flyfish.framework.repository.impl.DefaultReactiveRepositoryImpl;
import org.springframework.data.mongodb.core.ReactiveMongoOperations;
import org.springframework.data.mongodb.repository.support.ReactiveMongoRepositoryFactory;
import org.springframework.data.repository.core.RepositoryMetadata;
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactoryBean.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactoryBean.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactoryBean.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactoryBean.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/factory/DefaultRepositoryFactory.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/factory/DefaultRepositoryFactory.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/factory/DefaultRepositoryFactory.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/factory/DefaultRepositoryFactory.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/factory/DefaultRepositoryFactoryBean.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/factory/DefaultRepositoryFactoryBean.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/factory/DefaultRepositoryFactoryBean.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/factory/DefaultRepositoryFactoryBean.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/impl/DefaultReactiveRepositoryImpl.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/impl/DefaultReactiveRepositoryImpl.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/impl/DefaultReactiveRepositoryImpl.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/impl/DefaultReactiveRepositoryImpl.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/impl/DefaultRepositoryImpl.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/impl/DefaultRepositoryImpl.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/impl/DefaultRepositoryImpl.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/impl/DefaultRepositoryImpl.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/impl/QueryBuildUtils.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/impl/QueryBuildUtils.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/impl/QueryBuildUtils.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/impl/QueryBuildUtils.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/impl/ReactivePageableExecutionUtils.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/impl/ReactivePageableExecutionUtils.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/repository/impl/ReactivePageableExecutionUtils.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/repository/impl/ReactivePageableExecutionUtils.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/utils/CopyUtils.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/CopyUtils.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/utils/CopyUtils.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/CopyUtils.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/utils/CriteriaUtils.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/CriteriaUtils.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/utils/CriteriaUtils.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/CriteriaUtils.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/utils/DataUtils.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/DataUtils.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/utils/DataUtils.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/DataUtils.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/utils/DateRangeUtil.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/DateRangeUtil.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/utils/DateRangeUtil.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/DateRangeUtil.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/utils/DepartUtils.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/DepartUtils.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/utils/DepartUtils.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/DepartUtils.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/utils/FieldUtils.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/FieldUtils.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/utils/FieldUtils.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/FieldUtils.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/utils/HexUtils.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/HexUtils.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/utils/HexUtils.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/HexUtils.java
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/utils/Query.java b/flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/Query.java
similarity index 100%
rename from flyfish-data/src/main/java/com/flyfish/framework/utils/Query.java
rename to flyfish-data/flyfish-data-common/src/main/java/com/flyfish/framework/utils/Query.java
diff --git a/flyfish-data/flyfish-data-mongodb/pom.xml b/flyfish-data/flyfish-data-mongodb/pom.xml
new file mode 100644
index 0000000..cf8289b
--- /dev/null
+++ b/flyfish-data/flyfish-data-mongodb/pom.xml
@@ -0,0 +1,19 @@
+
+
+
+ flyfish-data
+ com.flyfish.framework
+ 0.0.1-SNAPSHOT
+
+ 4.0.0
+
+ flyfish-data-mongodb
+
+
+ 8
+ 8
+
+
+
diff --git a/flyfish-data/flyfish-data-r2dbc/pom.xml b/flyfish-data/flyfish-data-r2dbc/pom.xml
new file mode 100644
index 0000000..31a976b
--- /dev/null
+++ b/flyfish-data/flyfish-data-r2dbc/pom.xml
@@ -0,0 +1,34 @@
+
+
+
+ flyfish-data
+ com.flyfish.framework
+ 0.0.1-SNAPSHOT
+
+ 4.0.0
+
+ flyfish-data-r2dbc
+
+
+ 8
+ 8
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-r2dbc
+
+
+ dev.miku
+ r2dbc-mysql
+
+
+ com.flyfish.framework
+ flyfish-data-common
+ ${project.version}
+
+
+
diff --git a/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/adaptor/R2DbcCriteriaAdaptorFactory.java b/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/adaptor/R2DbcCriteriaAdaptorFactory.java
new file mode 100644
index 0000000..5b59604
--- /dev/null
+++ b/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/adaptor/R2DbcCriteriaAdaptorFactory.java
@@ -0,0 +1,34 @@
+package com.flyfish.framework.r2dbc.adaptor;
+
+import com.flyfish.framework.adaptor.CriteriaAdaptor;
+import com.flyfish.framework.adaptor.spi.CriteriaAdaptorFactory;
+import org.springframework.data.relational.core.query.Criteria;
+
+
+/**
+ * 实现适配层和底层的转化
+ *
+ * @author wangyu
+ */
+public class R2DbcCriteriaAdaptorFactory implements CriteriaAdaptorFactory {
+
+ /**
+ * 生产适配器
+ *
+ * @return 结果
+ */
+ @Override
+ public CriteriaAdaptor produce() {
+ return null;
+ }
+
+ /**
+ * 查询类型
+ *
+ * @return 结果
+ */
+ @Override
+ public Class> criteriaType() {
+ return Criteria.class;
+ }
+}
diff --git a/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/R2dbcDataConfig.java b/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/R2dbcDataConfig.java
new file mode 100644
index 0000000..2cdffde
--- /dev/null
+++ b/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/R2dbcDataConfig.java
@@ -0,0 +1,17 @@
+package com.flyfish.framework.r2dbc.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.r2dbc.query.Criteria;
+
+/**
+ * r2dbc数据配置
+ *
+ * @author wangyu
+ */
+@Configuration
+public class R2dbcDataConfig {
+
+ public void test() {
+
+ }
+}
diff --git a/flyfish-data/pom.xml b/flyfish-data/pom.xml
index 139bb91..9c6c6b2 100644
--- a/flyfish-data/pom.xml
+++ b/flyfish-data/pom.xml
@@ -10,37 +10,11 @@
4.0.0
flyfish-data
+ pom
+
+ flyfish-data-r2dbc
+ flyfish-data-mongodb
+ flyfish-data-common
+
-
-
- com.flyfish.framework
- flyfish-common
- ${project.version}
-
-
-
- org.springframework.data
- spring-data-mongodb
-
-
-
- org.springframework.security
- spring-security-core
-
-
-
- org.springframework.boot
- spring-boot-starter-data-mongodb-reactive
-
-
-
- org.springframework.boot
- spring-boot-starter-data-mongodb
-
-
-
- com.github.ulisesbocchio
- jasypt-spring-boot-starter
-
-
diff --git a/flyfish-form/pom.xml b/flyfish-form/pom.xml
index f6fe2f6..fe62764 100644
--- a/flyfish-form/pom.xml
+++ b/flyfish-form/pom.xml
@@ -19,7 +19,7 @@
com.flyfish.framework
- flyfish-data
+ flyfish-data-common
${project.version}
diff --git a/flyfish-user/pom.xml b/flyfish-user/pom.xml
index dcb582f..738451b 100644
--- a/flyfish-user/pom.xml
+++ b/flyfish-user/pom.xml
@@ -20,7 +20,7 @@
com.flyfish.framework
- flyfish-data
+ flyfish-data-common
${project.version}
diff --git a/flyfish-web/pom.xml b/flyfish-web/pom.xml
index 5702ef0..10059f1 100644
--- a/flyfish-web/pom.xml
+++ b/flyfish-web/pom.xml
@@ -14,7 +14,7 @@
com.flyfish.framework
- flyfish-data
+ flyfish-data-common
${project.version}