diff --git a/src/main/java/org/redkale/source/DataSource.java b/src/main/java/org/redkale/source/DataSource.java index bc04ebf81..97ee5f8f1 100644 --- a/src/main/java/org/redkale/source/DataSource.java +++ b/src/main/java/org/redkale/source/DataSource.java @@ -2630,7 +2630,8 @@ public interface DataSource extends Resourcable { * * @return 字段值的集合CompletableFuture */ - default CompletableFuture> queryColumnListAsync(final String selectedColumn, final Class clazz, final Flipper flipper, final FilterBean bean) { + default CompletableFuture> queryColumnListAsync(final String selectedColumn, final Class clazz, + final Flipper flipper, final FilterBean bean) { return queryColumnListAsync(selectedColumn, clazz, flipper, FilterNodeBean.createFilterNode(bean)); } @@ -2662,7 +2663,8 @@ public interface DataSource extends Resourcable { * * @return 字段值的集合CompletableFuture */ - public CompletableFuture> queryColumnListAsync(final String selectedColumn, final Class clazz, final Flipper flipper, final FilterNode node); + public CompletableFuture> queryColumnListAsync(final String selectedColumn, final Class clazz, + final Flipper flipper, final FilterNode node); /** * 查询符合过滤条件记录的某个字段Sheet集合
@@ -2677,10 +2679,30 @@ public interface DataSource extends Resourcable { * * @return 字段值的集合 */ - default Sheet queryColumnSheet(final String selectedColumn, final Class clazz, final Flipper flipper, final FilterBean bean) { + default Sheet queryColumnSheet(final String selectedColumn, final Class clazz, + final Flipper flipper, final FilterBean bean) { return queryColumnSheet(selectedColumn, clazz, flipper, FilterNodeBean.createFilterNode(bean)); } + /** + * 查询符合过滤条件记录的某个字段Sheet集合
+ * 等价SQL: SELECT {selectedColumn} FROM {table} WHERE {filter node} ORDER BY {flipper.sort} LIMIT {flipper.limit}
+ * + * @param Entity泛型 + * @param 字段类型 + * @param 过滤类型 + * @param selectedColumn 指定字段 + * @param clazz Entity类 + * @param pageBean 过滤翻页条件 + * + * @return 字段值的集合 + */ + default Sheet queryColumnSheet(final String selectedColumn, final Class clazz, + final PageBean pageBean) { + return queryColumnSheet(selectedColumn, clazz, pageBean == null ? null : pageBean.getFlipper(), + pageBean == null ? null : FilterNodeBean.createFilterNode(pageBean.getBean())); + } + /** * 查询符合过滤条件记录的某个字段Sheet集合
* 等价SQL: SELECT {selectedColumn} FROM {table} WHERE {filter node} ORDER BY {flipper.sort} LIMIT {flipper.limit}
@@ -2694,10 +2716,30 @@ public interface DataSource extends Resourcable { * * @return 字段值的集合CompletableFuture */ - default CompletableFuture> queryColumnSheetAsync(final String selectedColumn, final Class clazz, final Flipper flipper, final FilterBean bean) { + default CompletableFuture> queryColumnSheetAsync(final String selectedColumn, final Class clazz, + final Flipper flipper, final FilterBean bean) { return queryColumnSheetAsync(selectedColumn, clazz, flipper, FilterNodeBean.createFilterNode(bean)); } + /** + * 查询符合过滤条件记录的某个字段Sheet集合
+ * 等价SQL: SELECT {selectedColumn} FROM {table} WHERE {filter node} ORDER BY {flipper.sort} LIMIT {flipper.limit}
+ * + * @param Entity泛型 + * @param 字段类型 + * @param 过滤类型 + * @param selectedColumn 指定字段 + * @param clazz Entity类 + * @param pageBean 过滤翻页条件 + * + * @return 字段值的集合CompletableFuture + */ + default CompletableFuture> queryColumnSheetAsync(final String selectedColumn, + final Class clazz, final PageBean pageBean) { + return queryColumnSheetAsync(selectedColumn, clazz, pageBean == null ? null : pageBean.getFlipper(), + pageBean == null ? null : FilterNodeBean.createFilterNode(pageBean.getBean())); + } + /** * 查询符合过滤条件记录的某个字段Sheet集合
* 等价SQL: SELECT {selectedColumn} FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
@@ -2711,7 +2753,8 @@ public interface DataSource extends Resourcable { * * @return 字段值的集合 */ - public Sheet queryColumnSheet(final String selectedColumn, final Class clazz, final Flipper flipper, final FilterNode node); + public Sheet queryColumnSheet(final String selectedColumn, final Class clazz, + final Flipper flipper, final FilterNode node); /** * 查询符合过滤条件记录的某个字段Sheet集合
@@ -2726,7 +2769,8 @@ public interface DataSource extends Resourcable { * * @return 字段值的集合CompletableFuture */ - public CompletableFuture> queryColumnSheetAsync(final String selectedColumn, final Class clazz, final Flipper flipper, final FilterNode node); + public CompletableFuture> queryColumnSheetAsync(final String selectedColumn, final Class clazz, + final Flipper flipper, final FilterNode node); /** * 查询符合过滤条件记录的List转Map集合, key=主键值, value=Entity对象
@@ -3624,6 +3668,22 @@ public interface DataSource extends Resourcable { return querySheet(clazz, (SelectColumn) null, flipper, FilterNodeBean.createFilterNode(bean)); } + /** + * 查询符合过滤条件记录的Sheet集合
+ * 等价SQL: SELECT * FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
+ * + * @param Entity泛型 + * @param 过滤类型 + * @param clazz Entity类 + * @param pageBean 过滤翻页条件 + * + * @return Entity的集合 + */ + default Sheet querySheet(final Class clazz, final PageBean pageBean) { + return querySheet(clazz, (SelectColumn) null, pageBean == null ? null : pageBean.getFlipper(), + pageBean == null ? null : FilterNodeBean.createFilterNode(pageBean.getBean())); + } + /** * 查询符合过滤条件记录的Sheet集合
* 等价SQL: SELECT * FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
@@ -3639,6 +3699,22 @@ public interface DataSource extends Resourcable { return querySheetAsync(clazz, (SelectColumn) null, flipper, FilterNodeBean.createFilterNode(bean)); } + /** + * 查询符合过滤条件记录的Sheet集合
+ * 等价SQL: SELECT * FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
+ * + * @param Entity泛型 + * @param 过滤类型 + * @param clazz Entity类 + * @param pageBean 过滤翻页条件 + * + * @return Entity的集合CompletableFuture + */ + default CompletableFuture> querySheetAsync(final Class clazz, final PageBean pageBean) { + return querySheetAsync(clazz, (SelectColumn) null, pageBean == null ? null : pageBean.getFlipper(), + pageBean == null ? null : FilterNodeBean.createFilterNode(pageBean.getBean())); + } + /** * 查询符合过滤条件记录的Sheet集合
* 等价SQL: SELECT * FROM {table} WHERE {filter node} ORDER BY {flipper.sort} LIMIT {flipper.limit}
@@ -3685,6 +3761,23 @@ public interface DataSource extends Resourcable { return querySheet(clazz, selects, flipper, FilterNodeBean.createFilterNode(bean)); } + /** + * 查询符合过滤条件记录的Sheet集合
+ * 等价SQL: SELECT {column1},{column2}, ··· FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
+ * + * @param Entity泛型 + * @param 过滤类型 + * @param clazz Entity类 + * @param selects 指定字段 + * @param pageBean 过滤翻页条件 + * + * @return Entity的集合 + */ + default Sheet querySheet(final Class clazz, final SelectColumn selects, final PageBean pageBean) { + return querySheet(clazz, selects, pageBean == null ? null : pageBean.getFlipper(), + pageBean == null ? null : FilterNodeBean.createFilterNode(pageBean.getBean())); + } + /** * 查询符合过滤条件记录的Sheet集合
* 等价SQL: SELECT {column1},{column2}, ··· FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
@@ -3701,6 +3794,23 @@ public interface DataSource extends Resourcable { return querySheetAsync(clazz, selects, flipper, FilterNodeBean.createFilterNode(bean)); } + /** + * 查询符合过滤条件记录的Sheet集合
+ * 等价SQL: SELECT {column1},{column2}, ··· FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
+ * + * @param Entity泛型 + * @param 过滤类型 + * @param clazz Entity类 + * @param selects 指定字段 + * @param pageBean 过滤翻页条件 + * + * @return Entity的集合CompletableFuture + */ + default CompletableFuture> querySheetAsync(final Class clazz, final SelectColumn selects, final PageBean pageBean) { + return querySheetAsync(clazz, selects, pageBean == null ? null : pageBean.getFlipper(), + pageBean == null ? null : FilterNodeBean.createFilterNode(pageBean.getBean())); + } + /** * 查询符合过滤条件记录的Sheet集合
* 等价SQL: SELECT {column1},{column2}, ··· FROM {table} WHERE {filter node} ORDER BY {flipper.sort} LIMIT {flipper.limit}
diff --git a/src/main/java/org/redkale/source/DataSqlMapper.java b/src/main/java/org/redkale/source/DataSqlMapper.java index bf1b0432f..03b52f634 100644 --- a/src/main/java/org/redkale/source/DataSqlMapper.java +++ b/src/main/java/org/redkale/source/DataSqlMapper.java @@ -10,11 +10,11 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.stream.Stream; +import org.redkale.annotation.ClassDepends; import org.redkale.util.LambdaFunction; import org.redkale.util.LambdaSupplier; import org.redkale.util.SelectColumn; import org.redkale.util.Sheet; -import org.redkale.annotation.ClassDepends; /** * 类似Mybatis的Mapper接口类, 接口系列和DataSource相似度高
@@ -3204,6 +3204,21 @@ public interface DataSqlMapper { return dataSource().querySheet(entityType(), flipper, bean); } + /** + * 查询符合过滤条件记录的Sheet集合
+ * 等价SQL: SELECT * FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
+ * + * + * + * @param 过滤类型 + * @param pageBean 过滤翻页条件 + * + * @return Entity的集合 + */ + default Sheet querySheet(PageBean pageBean) { + return dataSource().querySheet(entityType(), pageBean); + } + /** * 查询符合过滤条件记录的Sheet集合
* 等价SQL: SELECT * FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
@@ -3219,6 +3234,21 @@ public interface DataSqlMapper { return dataSource().querySheetAsync(entityType(), flipper, bean); } + /** + * 查询符合过滤条件记录的Sheet集合
+ * 等价SQL: SELECT * FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
+ * + * + * + * @param 过滤类型 + * @param pageBean 过滤翻页条件 + * + * @return Entity的集合 + */ + default CompletableFuture> querySheetAsync(PageBean pageBean) { + return dataSource().querySheetAsync(entityType(), pageBean); + } + /** * 查询符合过滤条件记录的Sheet集合
* 等价SQL: SELECT * FROM {table} WHERE {filter node} ORDER BY {flipper.sort} LIMIT {flipper.limit}
@@ -3265,6 +3295,21 @@ public interface DataSqlMapper { return dataSource().querySheet(entityType(), selects, flipper, bean); } + /** + * 查询符合过滤条件记录的Sheet集合
+ * 等价SQL: SELECT {column1},{column2}, ··· FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
+ * + * + * @param 过滤类型 + * @param selects 指定字段 + * @param pageBean 过滤翻页条件 + * + * @return Entity的集合 + */ + default Sheet querySheet(SelectColumn selects, PageBean pageBean) { + return dataSource().querySheet(entityType(), selects, pageBean); + } + /** * 查询符合过滤条件记录的Sheet集合
* 等价SQL: SELECT {column1},{column2}, ··· FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
@@ -3281,6 +3326,21 @@ public interface DataSqlMapper { return dataSource().querySheetAsync(entityType(), selects, flipper, bean); } + /** + * 查询符合过滤条件记录的Sheet集合
+ * 等价SQL: SELECT {column1},{column2}, ··· FROM {table} WHERE {filter bean} ORDER BY {flipper.sort} LIMIT {flipper.limit}
+ * + * + * @param 过滤类型 + * @param selects 指定字段 + * @param pageBean 过滤翻页条件 + * + * @return Entity的集合 + */ + default CompletableFuture> querySheetAsync(SelectColumn selects, PageBean pageBean) { + return dataSource().querySheetAsync(entityType(), selects, pageBean); + } + /** * 查询符合过滤条件记录的Sheet集合
* 等价SQL: SELECT {column1},{column2}, ··· FROM {table} WHERE {filter node} ORDER BY {flipper.sort} LIMIT {flipper.limit}
diff --git a/src/main/java/org/redkale/source/DataSqlSource.java b/src/main/java/org/redkale/source/DataSqlSource.java index 0e2492544..dca65c5eb 100644 --- a/src/main/java/org/redkale/source/DataSqlSource.java +++ b/src/main/java/org/redkale/source/DataSqlSource.java @@ -7,9 +7,9 @@ import java.io.Serializable; import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.function.*; +import org.redkale.annotation.ClassDepends; import static org.redkale.source.DataResultSet.formatColumnValue; import org.redkale.util.*; -import org.redkale.annotation.ClassDepends; /** * @@ -269,7 +269,7 @@ public interface DataSqlSource extends DataSource { @ClassDepends default CompletableFuture> nativeQueryListAsync(Class type, String sql, Map params) { return nativeQueryAsync(sql, rset -> { - if (EntityBuilder.isSimpleType(type)) { + if (EntityBuilder.isSimpleType(type)) { List list = new ArrayList<>(); while (rset.next()) { list.add(rset.wasNull() ? null : (V) formatColumnValue(type, rset.getObject(1))); @@ -387,4 +387,13 @@ public interface DataSqlSource extends DataSource { return nativeQuerySheetAsync(type, sql, flipper, (Map) Copier.copyToMap(bean, Copier.OPTION_SKIP_NULL_VALUE)); } + default Sheet nativeQuerySheet(Class type, String sql, PageBean pageBean) { + return nativeQuerySheet(type, sql, pageBean == null ? null : pageBean.getFlipper(), + pageBean == null ? null : (Map) Copier.copyToMap(pageBean.getBean(), Copier.OPTION_SKIP_NULL_VALUE)); + } + + default CompletableFuture> nativeQuerySheetAsync(Class type, String sql, PageBean pageBean) { + return nativeQuerySheetAsync(type, sql, pageBean == null ? null : pageBean.getFlipper(), + pageBean == null ? null : (Map) Copier.copyToMap(pageBean.getBean(), Copier.OPTION_SKIP_NULL_VALUE)); + } }