数据结构:DataRow
最后更新:2023-10-18 21:26:53
|
状态:未完成
DataRow对应数据库中的一行数据内部是一个Map结构,Map的key对应了表的列名,一般通过anyline-config.IS_UPPER_KEY=true来设置返回值以大写key存储
DataRow提供了一些默认的数据操作方法
public Object get(String key) | 提取DataRow中的值 |
public boolean getBoolean(String key) | 提取DataRow中的值并转换成Boolean值 |
public boolean getBoolean(String key, boolean def) | 提取DataRow中的值并转换成Boolean值,如果没有值则默认为def |
public Date getDate(String key, String def) | 提取DataRow中的值并转换成Date类型,如果没有值则默认为def |
public Date getDate(String key, Date def) | 提取DataRow中的值并转换成Date类型,如果没有值则默认为def |
public BigDecimal getDecimal(String key) | 提取DataRow中的值并转换成BigDecimal类型 |
public BigDecimal getDecimal(String key, BigDecimal def) | 提取DataRow中的值并转换成BigDecimal类型,如果没有值则默认为def |
public BigDecimal getDecimal(String key, double def) | 提取DataRow中的值并转换成BigDecimal类型,如果没有值则默认为def |
public int getInt(String key) | 提取DataRow中的值并转换成Int类型,如果没有值则默认为0 |
public int getInt(String key, int def) | 提取DataRow中的值并转换成int类型,如果没有值则默认为def |
public long getLong(String key) | 提取DataRow中的值并转换成long类型,如果没有值则默认为0 |
public long getLong(String key, long def) | 提取DataRow中的值并转换成long类型,如果没有值则默认为def |
public DataRow getRow(String key) | 获取DataRow中的值并转换成DataRow,如果值不是DataRow类型则返回null |
public DataSet getSet(String key) | 获取DataRow中的值并转换成DataSet,如果值不是DataSet类型则返回null |
public String getPrimaryKey() | 获取主键 |
public String getPrimaryKeys() | 攻取主键列表,复合主键时使用 |
public DataRow addPrimaryKey(String ... pks) |
添加主键,DataRow默认以ID作主键,调用以上方法可以在ID基础上添加多个主键。 在AnylineService.save(DataRow)时会根据主键来判断insert还是update applyContainer:设置主键时,是否同时应用到父级容器DataSet上 |
public DataRow addPrimaryKey(boolean applyContainer, Collection |
|
public DataRow addPrimaryKey(boolean applyContainer, String ... pks) | |
public DataRow addAllUpdateColumns() |
将所有列添加入保存范围 AnylineService.save(DataRow)如果是update操作,则只会update值修改过和列 如果要强制upate所有列,需要调用以上方法 |
public DataRow clearUpdateColumns() | 清除所有需要更新的列(只是标记所有列不需要更新,并不清空值) |
public boolean checkRequired(String ... keys) | 检测指定的列中是否有空值 |
public DataRow clearEmpty() | 删除值为空的条目,相当于调用Map.remove(key) |
public DataRow clearNull() | 删除值为null的条目 |
public boolean containsKey(String key) | 是否包含指定的key |
public DataRow copy(DataRow data, String ... keys) | 将data中对应的key的值存入当前对象,如果有重复的key以data中的值为准 |
public |
将普通的Java对象转换成DataRow |
public DataRow formatDate(String format, String ... cols) | 格式化指定列的日期格式 |
public DataRow formatNumber(String format, String ... cols) | 格式化指定列的数字格式 |
public Object getPrimaryValue() | 获取主键值 |
public Object getPrimaryValues() | 获取主键值,复合主键时使用 |
public boolean hasValue(String key) | return get(key) != null; |
public boolean isEmpty(String key) | 指定列的值是否(不)为空(null) |
public boolean isNotEmpty(String key) | |
public boolean isNull(String key) | |
public boolean isNotNull(String key) | |
public boolean isExpire() | 从创建对象到现在是否超过指定时间,配合setExpire(int millisecond)使用 |
public boolean isExpire(int millisecond) | 从创建对象到现在是否超过指定时间 |
public DataRow merge(DataRow row, boolean over) |
将row中的数据合并到当前DataRow over:key相同时是否覆盖当前DataRow中的值 |
public DataRow merge(DataRow row | |
public Object put(String key, Object value) |
类似于Map.put() pk:是否将当前key作为主键 override:如果当前DataRow中已存在key值是否覆盖原来的值 |
public Object put(String key, Object value, boolean pk) | |
public Object put(String key, Object value, boolean pk, boolean override) | |
public void setUpdateEmptyColumn(boolean updateEmptyColumn) | 设置是否更新值为空的列 |
public void setUpdateNullColumn(boolean updateNullColumn) | 设置是否更新值为null的列 |
public String toJSON() | 转换成json格式字符 |
public String toXML() |
转换成xml格式字符 border:是否添加xml外层标签包裹 order:是否需要排序后转换 |
public String toXML(boolean border, boolean order) | |
public DataRow toLowerKey(String ... keys) |
将指定的key转换成小(大)写,如果不指定则转换全部key 转换的是key而不是value |
public DataRow toUpperKey(String ... keys) | |
public DataRow setExpires(int millisecond) | 设置过期时间,配合isExpires()使用 |