数据结构:DataSet

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

其他文档