📄 datamap.java
字号:
package project;
import java.util.*;
import java.sql.ResultSet;
import java.sql.*;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class DataMap
extends HashMap {
private ResultSet rs = null;
private Object[][] Data = null;
private ArrayList[] col_list = null;
private String[] col_name = null;
private int col_num = 0;
public DataMap(ResultSet rs) {
this.rs = rs;
if (this.rs != null) {
rs_to_DataMap();
}
}
private void rs_to_DataMap() {
try {
//得到列名和列的数目,存放到 col_name[]中 和 col_num 中
ResultSetMetaData rsmd = this.rs.getMetaData();
col_num = rsmd.getColumnCount();//列数;
col_name = new String[col_num];//列名;
for (int i = 0; i < col_num; i++) {
col_name[i] = rsmd.getColumnName(i + 1);
}
//创建和列数相等的ArrayList数组,用于存放每一列的数据
col_list = new ArrayList[col_num];
for (int i = 0; i < col_num; i++) {
col_list[i] = new ArrayList();
}
Object obj = null;
//开始向ArrayList数组添加数据
while (this.rs.next()) {
for (int i = 0; i < col_num; i++) {
obj = this.rs.getObject(i + 1);
if (obj != null) {
col_list[i].add(obj.toString());
}
else {
col_list[i].add("0");
}
}
}
//把得到的ArrayList数组添加到datamap中去
for (int i = 0; i < col_num; i++) {
this.put(col_name[i], col_list[i]);
}
}
catch (SQLException ex) {
ex.printStackTrace();
}
}
//返回列数
public int get_DataMap_column() {
return this.col_num;
}
//返回行数
public int get_DataMap_row() {
if (this.col_num > 0) {
return col_list[0].size();
}
else {
return 0;
}
}
public String[] get_Column_Title() {
return this.col_name;
}
//把Datamap的对象变为二维一个对象数组,并返回
public Object[][] get_DataMap_Array() {
int col = this.get_DataMap_column();
int row = this.get_DataMap_row();
Data = new Object[row][col];
ArrayList temp = null;
for (int i = 0; i < col; i++) {
temp = (ArrayList)this.get(col_name[i]);
for (int j = 0; j < row; j++) {
Data[j][i] = temp.get(j);
}
}
return Data;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -