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

📄 dbcolumn.java.svn-base

📁 自用的一个简单的数据库连接池
💻 SVN-BASE
字号:
package dev.trade.common.db;

import java.sql.*;
import java.util.*;

/**
 * <p>Title: 数据库表字段的描述对象 </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2008</p>
 *
 * <p>Company: </p>
 *
 * @author Lucas
 * @version 1.0
 */

public class DBColumn
{
  private String key = null;           //--标识
  private String name = null;          //字段名
  private String label = null;         //字段标签
  private int type = -1;               //字段类型
  private String typeName = "";        //类型名称
  private String className = "";       //类型对应类名
  private int displaySize = 20;        //显示宽度
  private int precision = 0;           //精度
  private int scale = 0;               //标度
  private boolean nullable = true;     //是否允许为空
  private int seqIdx = 0;              //--序列值
  private boolean bDefault = false;    //--默认标记
  private boolean constrain = false;   //--强制标记

  public DBColumn(){
  }

  public DBColumn(String key, String name, String label, int type, int seqIdx){
    setKey(key);
    setName(name);
    setLabel(label);
    setType(type);
    setSeqIdx(seqIdx);
  }

  public String getKey(){
    return key;
  }

  public String getLabel(){
    return label;
  }

  public int getDisplaySize(){
    return displaySize;
  }

  public void setClassName(String className){
    this.className = className;
  }

  public void setKey(String key){
    this.key = key;
  }

  public void setLabel(String Label){
    label = Label;
  }

  public void setDisplaySize(int displaySize){
    this.displaySize = displaySize;
  }

  public void setType(int type){
    this.type = type;
  }

  public void setName(String name){
    this.name = name;
  }

  public void setTypeName(String typeName){
    this.typeName = typeName;
  }

  public void setPrecision(int precision){
    this.precision = precision;
  }

  public void setScale(int scale){
    this.scale = scale;
  }

  public void setNullable(boolean nullable){
    this.nullable = nullable;
  }

  public void setSeqIdx(int seqIdx){
    this.seqIdx = seqIdx;
  }

  public void setConstrain(boolean constrain){
    this.constrain = constrain;
  }

  public void setDefault(boolean bDefault){
    this.bDefault = bDefault;
  }

  public String getClassName(){
    return className;
  }

  public int getType(){
    return type;
  }

  public String getName(){
    return name;
  }

  public String getTypeName(){
    return typeName;
  }

  public int getPrecision(){
    return precision;
  }

  public int getScale(){
    return scale;
  }

  public boolean isNullable(){
    return nullable;
  }

  public int getSeqIdx(){
    return seqIdx;
  }

  public boolean isConstrain(){
    return constrain;
  }

  public boolean isDefault(){
    return bDefault;
  }

  public String toString(){
    return label != null ? label : name != null ? name : "";
  }

  public String toDescString(){
    StringBuffer sbRet = new StringBuffer("{");
    sbRet.append("key:").append(key == null ? key : "\"" + key + "\"").append(",name:").append(name == null ?
        name : "\"" + name + "\"").append(",label:").append(label == null ? label :
        "\"" + label + "\"").append(",typeName:").append(typeName == null ? typeName :
        "\"" + typeName + "\"").append(",className:").append(className == null ? className :
        "\"" + className +
        "\"").append(",type:").append(type).append(",displaySize:").append(displaySize).append(
            ",precision:").append(precision).append(",scale:").append(scale).append(",seqIdx:").
        append(
            seqIdx).append(",nullable:").append(nullable).append(",default:").append(bDefault).
        append(
            ",constrain:").append(constrain).append("}");
    return sbRet.toString();
  }

  public boolean equals(Object obj){
    if(this == obj)
      return true;
    if(obj instanceof DBColumn){
      DBColumn col = (DBColumn)obj;
      return key.equals(col.getKey()) && name.equals(col.getName()) && label.equals(col.getLabel()) &&
          type == col.getType();
    } else{
      return false;
    }
  }

  public static Comparator getSequenceComparator(){
    return seqComparator;
  }

  public static DBColumn getDBColumn(ResultSet rs, int i) throws Exception{
    if(rs == null || i <= 0){
      return null;
    } else{
      ResultSetMetaData meta = rs.getMetaData();
      return getDBColumn(meta, i);
    }
  }

  public static DBColumn getDBColumn(ResultSetMetaData meta, int i) throws Exception{
    if(meta == null || i <= 0)
      return null;
    DBColumn col = new DBColumn();
    col.setName(meta.getColumnName(i));
    col.setLabel(meta.getColumnLabel(i));
    col.setType(meta.getColumnType(i));
    col.setTypeName(meta.getColumnTypeName(i));
    col.setClassName(meta.getColumnClassName(i));
    col.setDisplaySize(meta.getColumnDisplaySize(i));
    col.setNullable(meta.isNullable(i) == 1);
    if(col.getType() != 2005 && col.getType() != 2004)
      col.setPrecision(meta.getPrecision(i));
    col.setScale(meta.getScale(i));
    col.setKey(col.getName());
    col.setSeqIdx(i);
    return col;
  }

  private static final Comparator seqComparator = new Comparator()
  {

    public int compare(Object o1, Object o2){
      DBColumn col1 = (DBColumn)o1;
      DBColumn col2 = (DBColumn)o2;
      return col1.getSeqIdx() - col2.getSeqIdx();
    }

  };


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -