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}