jdbctypemapper.java

来自「一个网络告警」· Java 代码 · 共 65 行

JAVA
65
字号
package quanquanqi;	
import java.sql.*;
import java.text.*;
import java.math.*;

public class JDBCTypeMapper
{
 //实现JDBC到Java类型的映射
 static NumberFormat nf = (DecimalFormat) NumberFormat.getInstance();
 static DateFormat   df = DateFormat.getDateInstance(DateFormat.LONG);

//------------------------------------------------------------------------------
  public static Object getColumnDataString( int col, ResultSet rs)
  {
  	//从rs中检索一列,将此列数据转化为Java String型
    Object obj = null;//储存方法的返回值
    int type = 0;//储存列的数据类型
    try {
      type = rs.getMetaData().getColumnType(col);
      switch (type) {
        case Types.INTEGER:
        case Types.SMALLINT:
        case Types.TINYINT:
          obj = rs.getObject(col).toString();
          break;
        case Types.DOUBLE:
        case Types.DECIMAL:
        case Types.NUMERIC:
        case Types.FLOAT://对小数处理
          nf.setMaximumFractionDigits(3);//限制结果字符串中小数数字个数为3
          obj = nf.format(rs.getDouble(col));
          break;
        case Types.BIT:
          obj = rs.getBoolean(col) ? "1" : "0";
          break;
        case Types.DATE:
          obj = df.format(rs.getDate(col));
          break;
        case Types.CHAR:
        case Types.VARCHAR:
        case Types.LONGVARCHAR:
          obj = rs.getObject(col).toString();
          break;
        case Types.BLOB:
        case Types.CLOB:
          obj = "<BLOB>";
          break;
        case Types.NULL:
          obj = " ";//映射为空字符串
        default:
          obj = rs.getObject(col).toString();
          break;
      }
    }
    catch (SQLException e) {
      System.out.println("SQLException in getColumnData: " + e.getMessage());
    }
    finally
    {
      return obj;
    }

  }
}

⌨️ 快捷键说明

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