数据结构:DataSet
最后更新:2023-10-18 21:27:03
|
状态:未完成
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 |