diff --git a/README.md b/README.md index 6b1890c52..ef69ddcb9 100644 --- a/README.md +++ b/README.md @@ -14,13 +14,13 @@ ## 开发文档 * [快速入门](docs/quick-start.md) * [Service组件](docs/service.md) -* [数据源组件](docs/source.md) -* [对象序列化](docs/convert.md) * [Json序列化](docs/convert-json.md) +* [DB数据源组件](docs/datasource.md) +* [Cache数据源组件](docs/cachesource.md) * [WebSocket](docs/websocket.md) * [native-image](docs/native-image.md) -* [方法缓存```Cached```](docs/cached.md) -* [定时任务```Scheduled```](docs/scheduled.md) +* [方法缓存Cached](docs/cached.md) +* [定时任务Scheduled](docs/scheduled.md) * [基本配置](docs/config.md) * [FAQ](docs/faq.md) diff --git a/docs/cache-source.md b/docs/cachesource.md similarity index 100% rename from docs/cache-source.md rename to docs/cachesource.md diff --git a/docs/data-source.md b/docs/datasource.md similarity index 51% rename from docs/data-source.md rename to docs/datasource.md index 774a2ef98..dde06fec9 100644 --- a/docs/data-source.md +++ b/docs/datasource.md @@ -1,4 +1,32 @@ # DB数据源 +   DataSource是数据层操作的抽象接口, +## 注解说明 + |注解类名 | 功能描述| + | --- | --- | + |@Column |标记字段,与JPA用法一致 | + |@Entity |标记实体类,与JPA用法一致 | + |@Id |标记主键字段,与JPA用法一致 | + |@Table |标记表的别名,与JPA用法一致 | + |@Transient |标记是否为表对应的字段,与JPA用法一致 | + |@VirtualEntity |用于非数据库表对应的Entity类,且仅用于开启缓存模式的DataSource | + |@DistributeTable |标记表进行分表分库存储, 与DistributeTableStrategy接口结合使用 | + |@FilterColumn |用于FilterBean过滤类的字段设置 | + |@FilterJoinColumn |用于FilterBean过滤类的关联表字段设置 | + |@FilterGroup | 用于FilterBean过滤类的过滤条件分组设置 | + +## 操作方法 + |系列方法 | 功能描述| + | --- | --- | + |insert |插入实体 | + |delete |删除实体 | + |update |更新实体 | + |updateColumn |更新数据的部分字段 | + |find |查找单个对象 | + |queryList |查询对象的List集合 | + |querySheet |查询对象的Sheet页式集合 | + |getNumberXXX |统计查询,用于查询字段的总和、最大值、平均值等数据 | + |queryColumnXXX |单个字段数据查询和字段的统计查询 | + |nativeXXX |直接运行SQL语句,用于复杂的关联查询与更新(仅限DataSqlSource) | ## 配置数据源 ```properties @@ -37,23 +65,28 @@ public class Account {   新增实体对象: ```java - //新增单个 - Account account = new Account(); - account.setAccountid("account1"); - account.setAccountName("Hello"); - account.setCreateTime(System.currentTimeMillis()); - source.insert(account); + @Resource(name = "platf") + private DataSource source; - //异步新增多个 - Account a1 = new Account(); - a1.setAccountid("account1"); - a1.setAccountName("Hello1"); - a1.setCreateTime(System.currentTimeMillis()); - Account a2 = new Account(); - a2.setAccountid("account2"); - a2.setAccountName("Hello2"); - a2.setCreateTime(System.currentTimeMillis()); - source.insertAsync(a1, a2); + public void insertTest() { + //新增单个 + Account account = new Account(); + account.setAccountid("account1"); + account.setAccountName("Hello"); + account.setCreateTime(System.currentTimeMillis()); + source.insert(account); + + //异步新增多个 + Account a1 = new Account(); + a1.setAccountid("account1"); + a1.setAccountName("Hello1"); + a1.setCreateTime(System.currentTimeMillis()); + Account a2 = new Account(); + a2.setAccountid("account2"); + a2.setAccountName("Hello2"); + a2.setCreateTime(System.currentTimeMillis()); + source.insertAsync(a1, a2); + } ```   修改实体对象: diff --git a/src/main/java/org/redkale/source/DataSqlSource.java b/src/main/java/org/redkale/source/DataSqlSource.java index c61b19089..577b6db42 100644 --- a/src/main/java/org/redkale/source/DataSqlSource.java +++ b/src/main/java/org/redkale/source/DataSqlSource.java @@ -189,7 +189,7 @@ public interface DataSqlSource extends DataSource { }); } - default Map nativeQueryStrStrMap(String sql) { + default Map nativeQueryToStrStrMap(String sql) { return nativeQueryMap(String.class, String.class, sql); } @@ -197,11 +197,11 @@ public interface DataSqlSource extends DataSource { return nativeQueryMapAsync(String.class, String.class, sql); } - default Map nativeQueryIntStrMap(String sql) { + default Map nativeQueryToIntStrMap(String sql) { return nativeQueryMap(Integer.class, String.class, sql); } - default CompletableFuture> nativeQueryIntStrMapAsync(String sql) { + default CompletableFuture> nativeQueryToIntStrMapAsync(String sql) { return nativeQueryMapAsync(Integer.class, String.class, sql); } @@ -292,19 +292,19 @@ public interface DataSqlSource extends DataSource { }, params); } - default Map nativeQueryStrStrMap(String sql, Map params) { + default Map nativeQueryToStrStrMap(String sql, Map params) { return nativeQueryMap(String.class, String.class, sql, params); } - default CompletableFuture> nativeQueryStrStrMapAsync(String sql, Map params) { + default CompletableFuture> nativeQueryToStrStrMapAsync(String sql, Map params) { return nativeQueryMapAsync(String.class, String.class, sql, params); } - default Map nativeQueryIntStrMap(String sql, Map params) { + default Map nativeQueryToIntStrMap(String sql, Map params) { return nativeQueryMap(Integer.class, String.class, sql, params); } - default CompletableFuture> nativeQueryIntStrMapAsync(String sql, Map params) { + default CompletableFuture> nativeQueryToIntStrMapAsync(String sql, Map params) { return nativeQueryMapAsync(Integer.class, String.class, sql, params); } @@ -349,19 +349,19 @@ public interface DataSqlSource extends DataSource { return nativeQueryMapAsync(keyType, valType, sql, (Map) Copier.copyToMap(bean, Copier.OPTION_SKIP_NULL_VALUE)); } - default Map nativeQueryStrStrMap(String sql, Serializable bean) { + default Map nativeQueryToStrStrMap(String sql, Serializable bean) { return nativeQueryMap(String.class, String.class, sql, (Map) Copier.copyToMap(bean, Copier.OPTION_SKIP_NULL_VALUE)); } - default CompletableFuture> nativeQueryStrStrMapAsync(String sql, Serializable bean) { + default CompletableFuture> nativeQueryToStrStrMapAsync(String sql, Serializable bean) { return nativeQueryMapAsync(String.class, String.class, sql, (Map) Copier.copyToMap(bean, Copier.OPTION_SKIP_NULL_VALUE)); } - default Map nativeQueryIntStrMap(String sql, Serializable bean) { + default Map nativeQueryToIntStrMap(String sql, Serializable bean) { return nativeQueryMap(Integer.class, String.class, sql, (Map) Copier.copyToMap(bean, Copier.OPTION_SKIP_NULL_VALUE)); } - default CompletableFuture> nativeQueryIntStrMapAsync(String sql, Serializable bean) { + default CompletableFuture> nativeQueryToIntStrMapAsync(String sql, Serializable bean) { return nativeQueryMapAsync(Integer.class, String.class, sql, (Map) Copier.copyToMap(bean, Copier.OPTION_SKIP_NULL_VALUE)); } diff --git a/src/main/java/org/redkale/source/DistributeTable.java b/src/main/java/org/redkale/source/DistributeTable.java index e41108435..f54fcf0dc 100644 --- a/src/main/java/org/redkale/source/DistributeTable.java +++ b/src/main/java/org/redkale/source/DistributeTable.java @@ -5,9 +5,9 @@ */ package org.redkale.source; -import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.*; import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.RUNTIME; /** * Entity分库分表的注解,需要结合DistributeTableStrategy使用
@@ -15,6 +15,8 @@ import static java.lang.annotation.ElementType.*; * *

* 详情见: https://redkale.org + * + * @see org.redkale.source.DistributeTableStrategy * * @author zhangjx */ diff --git a/src/main/java/org/redkale/source/DistributeTableStrategy.java b/src/main/java/org/redkale/source/DistributeTableStrategy.java index 9f777a1c4..76b112052 100644 --- a/src/main/java/org/redkale/source/DistributeTableStrategy.java +++ b/src/main/java/org/redkale/source/DistributeTableStrategy.java @@ -14,6 +14,8 @@ import java.io.Serializable; * *

* 详情见: https://redkale.org + * + * @see org.redkale.source.DistributeTable * * @author zhangjx * @param Entity类型 diff --git a/src/main/java/org/redkale/source/FilterBean.java b/src/main/java/org/redkale/source/FilterBean.java index 0af312a0a..79177fbd0 100644 --- a/src/main/java/org/redkale/source/FilterBean.java +++ b/src/main/java/org/redkale/source/FilterBean.java @@ -14,6 +14,10 @@ import org.redkale.annotation.Bean; * *

* 详情见: https://redkale.org + * + * @see org.redkale.source.FilterColumn + * @see org.redkale.source.FilterJoinColumn + * @see org.redkale.source.FilterGroup * * @author zhangjx */ diff --git a/src/main/java/org/redkale/source/FilterColumn.java b/src/main/java/org/redkale/source/FilterColumn.java index 1b98b0c21..953505ab0 100644 --- a/src/main/java/org/redkale/source/FilterColumn.java +++ b/src/main/java/org/redkale/source/FilterColumn.java @@ -14,6 +14,8 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; * *

* 详情见: https://redkale.org + * + * @see org.redkale.source.FilterBean * * @author zhangjx */ diff --git a/src/main/java/org/redkale/source/FilterGroup.java b/src/main/java/org/redkale/source/FilterGroup.java index 124379885..2d67fa62a 100644 --- a/src/main/java/org/redkale/source/FilterGroup.java +++ b/src/main/java/org/redkale/source/FilterGroup.java @@ -5,9 +5,9 @@ */ package org.redkale.source; -import static java.lang.annotation.RetentionPolicy.RUNTIME; -import static java.lang.annotation.ElementType.FIELD; import java.lang.annotation.*; +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.RetentionPolicy.RUNTIME; /** * 默认情况下FilterBean下的过滤字段之间是AND关系。
@@ -56,6 +56,9 @@ import java.lang.annotation.*; /** *

* 详情见: https://redkale.org + * + * @see org.redkale.source.FilterBean + * @see org.redkale.source.FilterNode * * @author zhangjx */ diff --git a/src/main/java/org/redkale/source/FilterJoinColumn.java b/src/main/java/org/redkale/source/FilterJoinColumn.java index b5bc8d6d2..7f3c8a701 100644 --- a/src/main/java/org/redkale/source/FilterJoinColumn.java +++ b/src/main/java/org/redkale/source/FilterJoinColumn.java @@ -15,6 +15,9 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; * *

* 详情见: https://redkale.org + * + * @see org.redkale.source.FilterBean + * @see org.redkale.source.FilterNode * * @author zhangjx */ diff --git a/src/main/java/org/redkale/source/FilterNodes.java b/src/main/java/org/redkale/source/FilterNodes.java index dcc7c8e80..23f9e5491 100644 --- a/src/main/java/org/redkale/source/FilterNodes.java +++ b/src/main/java/org/redkale/source/FilterNodes.java @@ -20,7 +20,7 @@ import org.redkale.util.LambdaSupplier; public final class FilterNodes { private FilterNodes() { - //do nothind + //do nothing } public static FilterNode create(String column, Serializable value) {