
org.rx.bean.DataTable Maven / Gradle / Ivy
package org.rx.bean;
import com.alibaba.fastjson.JSONObject;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.h2.expression.Alias;
import org.h2.expression.Expression;
import org.h2.expression.ExpressionColumn;
import org.h2.expression.aggregate.Aggregate;
import org.h2.expression.aggregate.AggregateType;
import org.h2.jdbc.JdbcConnection;
import org.h2.jdbc.JdbcResultSet;
import org.h2.result.LocalResult;
import org.h2.value.ValueToObjectConverter;
import org.rx.core.StringBuilder;
import org.rx.core.*;
import org.rx.exception.InvalidException;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import static org.rx.core.App.fromJson;
import static org.rx.core.Extends.*;
@Slf4j
@SuppressWarnings(Constants.NON_RAW_TYPES)
@NoArgsConstructor
public class DataTable implements Extends {
private static final long serialVersionUID = -7379386582995440975L;
public static final String HS_COLUMN_TYPE = "HS_COLUMN_TYPE";
public static final String HS_COUNT_MAP = "HS_COUNT_MAP";
public static DataTable read(ResultSet resultSet) {
return read(resultSet, false);
}
@SneakyThrows
public static DataTable read(ResultSet resultSet, boolean preferColumnName) {
DataTable dt = new DataTable();
try (ResultSet rs = resultSet) {
ResultSetMetaData metaData = rs.getMetaData();
dt.setTableName(metaData.getTableName(1));
int columnCount = metaData.getColumnCount();
for (int i = 1; i <= columnCount; i++) {
dt.addColumn(preferColumnName ? metaData.getColumnName(i) : metaData.getColumnLabel(i));
}
List