⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datamap.java

📁 javaGUI编写的人事管理系统(毕业学生答辩可参考)
💻 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 + -