数据结构:DataSet
最后更新:2025-07-24 11:08:52
|
状态:未完成
DataSet对应数据库中的多行数据,是一个DataRow集合,内部是一个Collection结构
DataSet提供了一些默认的数据操作方法
| public boolean add(Object e) | 添加一行,并将e转换成DataRow格式 |
| public boolean addAll(Collection c) | 添加多行 |
| public DataSet addRow(DataRow row) | 添加一行,只有当row != null时执行添加 |
| public DataSet addRow(int idx, DataRow row) | 在idx位置插入一行 |
| public DataSet addPrimaryKey(boolean applyItem, Collection pks) | 添加主键,参考DataRow |
| public DataSet addPrimaryKey(boolean applyItem, String ... pks) | applyItem:是否应用到集合中的DataRow 默认true |
| public DataSet intersection(DataSet set, String ... keys) | 根据keys取set与当前DataSet的交集,返回结果为新生成的DataSet对象 |
| public DataSet and(DataSet set, String ... keys) | |
| public DataSet difference(DataSet set, String ... keys) | 根据keys取set与当前DataSet的差集,返回结果为新生成的DataSet对象 |
| public DataSet asc(final String ... keys) | 根据keys值排序 |
| public DataSet order(final String ... keys) | 根据keys值排序(正序) |
| public DataSet desc(final String ... keys) | 根据keys值排序 |
| public BigDecimal avg(int top, String key) | 从第0行到top行,计算key列的平均值,空值不参与除法 |
| public BigDecimal avg(String key) | 计算key列的平均值 |
| public boolean checkRequired(String ... keys) | 集合中的DataRow是否keys值都不为空 |
| public void clear() | 清空集合中的所有条目 |
| public String concat(String key, String connector) | 提取集合中所有条目的key值,并以connector拼接 |
| public String concat(String key) | 提取集合中所有条目的key值,并以","拼接 |
| public String concatNvl(String key) | 提取集合中所有条目的key值,并以","拼接,如果有null值则以""代替 |
| public String concatNvl(String key, String connector) | 提取集合中所有条目的key值,并以connector拼接,如果有null值则以""代替 |
| public String concatWithoutEmpty(String key) | 提取集合中所有条目的key值,并以","拼接,如果值为空则略过 |
| public String concatWithoutEmpty(String key, String connector) | 提取集合中所有条目的key值,并以connector拼接,如果值为空则略过 |
| public String concatWithoutNull(String key) | 提取集合中所有条目的key值,并以","拼接,如果值为null则略过 |
| public String concatWithoutNull(String key, String connector) | 提取集合中所有条目的key值,并以connector拼接,如果值为null则略过 |
| public boolean contains(DataRow row, String ... keys) |
是否包含row,检测指定keys的value值相同则认为包含 如果未指定keys,则只检测主键值 |
| public DataSet cut(int begin) | 截取begin到最后一行 |
| public DataSet cut(int begin, int end) | 截取begin到end行 |
| public DataSet dispatchItems(String field, boolean recursion, DataSet items, String ... keys) |
从items中按相应的key提取数据 存入集合中的DataRow recursion:是否递归执行 dispatchItems("children",items, "PARENT_ID") dispatchItems("children",items, "ID:PARENT_ID") 参考经典场景一节中的示例 |
| public DataSet dispatchItems(String field,DataSet items, String ... keys) | |
| public DataSet dispatchItems(DataSet items, String ... keys) | |
| public DataSet dispatchItems(boolean recursion, String ... keys) | |
| public DataSet dispatchItems(String field, boolean recursion, String ... keys) | |
| public DataSet unique(String ... keys) | 根据keys值提取集合中不重复的子集,返回结果为新生成的DataSet |
| public DataSet distinct(String... keys) | 根据keys值提取集合中不重复的子集,返回结果为新生成的DataSet |
| public List getDistinctStrings(String key) | 提取指定列中不重复的值的集合 |
| public List fetchDistinctValue(String key) | 提取指定列中不重复的值的集合 |
| public List fetchValues(String key) | 提取key列的值,包含重复值 |
| public DataSet filter(int begin, int end, String key, String value) | 取begin行到end行中,key值=value的子集 |
| public DataSet formatDate(String format, String ... cols) | 将集合中DataRow的cols列格式化 |
| public DataSet formatNumber(String format, String ... cols) | 将集合中DataRow的cols列格式化 |
| public Object get(int index, String key) | 取第index个条目的key值 |
| public BigDecimal getDecimal(int idx, String key) | |
| public BigDecimal getDecimal(int idx, String key, double def) | |
| public BigDecimal getDecimal(int idx, String key, BigDecimal def) | |
| public int getInt(int idx, String key) | |
| public int getInt(int idx, String key, int def) | |
| public double getDouble(int idx, String key, double def) | |
| public long getLong(int idx, String key) | |
| public long getLong(int idx, String key, long def) | |
| public Date getDate(int idx, String key) | |
| public Date getDate(int idx, String key, Date def) | |
| public Date getDate(int idx, String key, String def) | |
| public String getEscapeString(int index, String key) | 取第index行key值并进行escapse编码 |
| public String getDoubleEscapeString(int index, String key) { | 取第index行key值并进行两次escapse编码 |
| public PageNavi getNavi() | 分页信息,查询方法有分页时有效 |
| public DataRow getRow(int index) | 提取第index行 |
| public DataRow getRow(int begin, String... params) |
从第begin行开始 key=value的条目 getRow(0,"NAME","ZHANG"); |
| public DataRow getRow(int begin, String... params) |
从第begin行开始 key=value的条目 getRow(0,"NAME","ZHANG","SEX","1"); |
| public DataSet getRows(int fr, int to) | 提取从fr行到to行的子集 |
| public DataSet getRows(int begin, int qty, String... params) |
根据条件从第begin行开始取最多qty行 getRows(0,10,key1,value1,key2:value2,key3,value3); |
| public DataSet getRows(String... params) | 从第0开始 |
| public DataSet getRows(int begin, String... params) | |
| public List getStringsWithoutEmpty(String key) | |
| public List getStringsWithoutNull(String key) | |
| public DataSet group(String ... keys) | 按keys分组,参与经典场景中的示例 |
| public boolean isEmpty() | 集合是否为空 |
| public boolean isExpire(int millisecond) | 从创建到现在是否超过millisecond毫秒 |
| public DataRow max(String key){ | key对应的value最大的一行 |
| public DataRow min(String key) | key对应的value最小的一行 |
| public BigDecimal maxDecimal(int top, String key) | 从第0行到top行中key列最大值 |
| public BigDecimal maxDecimal(String key) | 集合中key列最大值 |
| public BigDecimal minDecimal(int top, String key) | 从第0行到top行中key列最小值 |
| public BigDecimal minDecimal(String key) | 集合中key列最小值 |
| public double maxDouble(int top, String key) | 从第0行到top行中key列最大值 |
| public double maxDouble(String key) | 集合中key列最大值 |
| public double minDouble(int top, String key) | 从第0行到top行中key列最小值 |
| public double minDouble(String key) | 集合中key列最小值 |
| public int maxInt(int top, String key) | 从第0行到top行中key列最大值 |
| public int maxInt(String key) | 集合中key列最大值 |
| public int minInt(int top, String key) | 从第0行到top行中key列最小值 |
| public int minInt(String key) | 集合中key列最小值 |
| public DataSet or(DataSet set, String ... keys) | 合并set与当前DataSet,按keys去重,如果没有指定keys,则按主键去重 |
| public DataSet union(DataSet set, String ... keys) | 合并set与当前DataSet,按keys去重,如果没有指定keys,则按主键去重 |
| public DataSet unionAll(DataSet set) | 合并set与当前DataSet,不去重 |
| public DataRow random() | 随机取一行 |
| public DataSet randoms(int qty) | 随机取qty行 |
| public DataSet regex(String key, String regex) | 匹配regex正则的子集 |
| public DataSet regex(String key, String regex, Regular.MATCH_MODE mode) | org.anyline.util.regular.Regular.MATCH_MODE:匹配模式 |
| public String toJSON() | 列表中的数据格式化成json格式 不同与toString |
类SQL操作
DataSet set = new DataSet();
DataSet result = set.select.equals("NAME","ZHANG");
| public DataSet equals(String key, String value) | where key=value |
| public DataSet equalsIgnoreCase(String key, String value) | where key=value,不区分大小写 |
| public DataSet notEquals(String key, String value) | where key != value |
| public DataSet notEqualsIgnoreCase(String key, String value) | where key != value,不区分大小写 |
| public DataSet contains(String key, String value) | where key like ''%value%'' |
| public DataSet like(String key, String pattern) | where key like pattern,与SQL通配符一致 |
| public DataSet startWith(String key, String prefix) | where key like ''prefix%'' |
| public DataSet endWith(String key, String suffix) | where key like ''%suffix'' |
| public DataSet in(String key, String ... values) | where key in(values) |
| public DataSet in(String key, Collection values) | where key in(values) |
| public DataSet inIgnoreCase(String key, String ... values) | where key in(values),不区分大小写 |
| public DataSet inIgnoreCase(String key, Collection values) | where key in(values),不区分大小写 |
| public DataSet notIn(String key, String ... values) | where key not in(values) |
| public DataSet notIn(String key, Collection values) | where key not in(values) |
| public DataSet notInIgnoreCase(String key, String ... values) | where key not in(values),不区分大小写 |
| public DataSet notInIgnoreCase(String key, Collection values) | where key not in(values),不区分大小写 |
| public DataSet isNull(String key) | where key is null |
| public DataSet isNull(String ... keys) | where key1 is null and key2 is null |
| public DataSet isNotNull(String key) | where key is not null |
| public DataSet isNotNull(String ... keys) | where key1 is not null and key2 is not null |
| public DataSet isEmpty(String key) | where key is empty(null or '') |
| public DataSet isEmpty(String ... keys) | where key1 is empty(null or '') ... |
| public DataSet isNotEmpty(String key) | where key is not empty(null or '') |
| public DataSet isNotEmpty(String ... keys) | where key1 is not empty(null or '') ... |
| public DataSet less(String key, Object value) | where key < value(number,date,string) |
| public DataSet lessEqual(String key, Object value) | where key <= value |
| public DataSet greater(String key, Object value) | where key > value |
| public DataSet greaterEqual(String key, Object value) | where key >= value |
| public DataSet between(String key, Object min, Object max) | where key between min and max |