Package com.xiaoleilu.hutool.db.meta

Source Code of com.xiaoleilu.hutool.db.meta.Column

package com.xiaoleilu.hutool.db.meta;

import java.sql.ResultSet;
import java.sql.SQLException;

import com.xiaoleilu.hutool.StrUtil;
import com.xiaoleilu.hutool.exceptions.UtilException;

/**
* 数据库表的列信息
* @author loolly
*
*/
public class Column implements Cloneable{
 
  //----------------------------------------------------- Fields start
  private String tableName;    //表名
 
  private String name;        //列名
  private int type;            //类型,对应java.sql.Types中的类型
  private int size;            //大小
  private boolean isNullable;    //是否为可空
  //----------------------------------------------------- Fields end
 
  /**
   * 创建列对象
   * @param tableName 表名
   * @param columnMetaRs 列元信息的ResultSet
   * @return 列对象
   */
  public static Column create(String tableName, ResultSet columnMetaRs) {
    return new Column(tableName, columnMetaRs);
  }
 
  //----------------------------------------------------- Constructor start
  public Column() {
  }
 
  public Column(String tableName, ResultSet columnMetaRs) {
    try {
      init(tableName, columnMetaRs);
    } catch (SQLException e) {
      throw new UtilException(StrUtil.format("Get table [{}] meta info error!", tableName));
    }
  }
  //----------------------------------------------------- Constructor end
 
  /**
   * 初始化
   * @param tableName 表名
   * @param columnMetaRs 列的meta ResultSet
   * @throws SQLException
   */
  public  void init(String tableName, ResultSet columnMetaRs) throws SQLException {
    this.tableName = tableName;
   
    this.name = columnMetaRs.getString("COLUMN_NAME");
    this.type = columnMetaRs.getInt("DATA_TYPE");
    this.size = columnMetaRs.getInt("COLUMN_SIZE");
    this.isNullable = columnMetaRs.getBoolean("NULLABLE");
  }
 
  //----------------------------------------------------- Getters and Setters start
  public String getTableName() {
    return tableName;
  }
  public void setTableName(String tableName) {
    this.tableName = tableName;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getType() {
    return type;
  }
  public void setType(int type) {
    this.type = type;
  }
  public int getSize() {
    return size;
  }
  public void setSize(int size) {
    this.size = size;
  }
  public boolean isNullable() {
    return isNullable;
  }
  public void setNullable(boolean isNullable) {
    this.isNullable = isNullable;
  }
  //----------------------------------------------------- Getters and Setters end

  @Override
  public String toString() {
    return "Column [tableName=" + tableName + ", name=" + name + ", type=" + type + ", size=" + size + ", isNullable=" + isNullable + "]";
  }
}
TOP

Related Classes of com.xiaoleilu.hutool.db.meta.Column

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.