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

📄 resultwrapper.java

📁 云网论坛CWBBS 源码,内容丰富,学习,参考,教学的好资料,具体见内说明,
💻 JAVA
字号:
package cn.js.fan.db;

import java.sql.*;

public class ResultWrapper {
    ResultSet rs = null;
    ResultSetMetaData rm = null;

    public ResultWrapper(ResultSet rs) throws SQLException {
        this.rs = rs;
        rm = rs.getMetaData();
    }

/*
    oracle的相关资料
     public class Oracle9Dialect extends Dialect {

         public Oracle9Dialect() {
             super();
             registerColumnType( Types.BIT, "NUMBER(1,0)" );
             registerColumnType( Types.BIGINT, "NUMBER(19,0)" );
             registerColumnType( Types.SMALLINT, "NUMBER(5,0)" );
             registerColumnType( Types.TINYINT, "NUMBER(3,0)" );
             registerColumnType( Types.INTEGER, "NUMBER(10,0)" );
             registerColumnType( Types.CHAR, "CHAR(1)" );
             registerColumnType( Types.VARCHAR, "VARCHAR2($l)" );
             registerColumnType( Types.FLOAT, "FLOAT" );
             registerColumnType( Types.DOUBLE, "DOUBLE PRECISION" );
             registerColumnType( Types.DATE, "DATE" );
             registerColumnType( Types.TIME, "DATE" );
             registerColumnType( Types.TIMESTAMP, "DATE" );
             //registerColumnType( Types.VARBINARY, "RAW" );
             registerColumnType( Types.VARBINARY, "LONG RAW" );
             registerColumnType( Types.VARBINARY, 255, "RAW($l)" );
             registerColumnType( Types.NUMERIC, "NUMBER(19, $l)" );
             registerColumnType( Types.BLOB, "BLOB" );
             registerColumnType( Types.CLOB, "CLOB" );
*/

    /**
     * 根据类型,自动获取相应类型的值
     * @param col int
     * @return Object
     * @throws SQLException
     */
    public Object getObject(int col) throws SQLException {
        int t = rm.getColumnType(col);
        Object obj = null;
        switch (t) {
          case Types.ARRAY: obj = rs.getArray(col); break;
          case Types.BIGINT: obj = new Long(rs.getLong(col)); break;
          case Types.BINARY: obj = rs.getBinaryStream(col); break;
          case Types.BIT: obj = new Integer(rs.getInt(col)); break;
          case Types.BLOB: obj = rs.getBlob(col); break;
          case Types.BOOLEAN: obj = new Boolean(rs.getBoolean(col)); break;
          case Types.CHAR: obj = rs.getString(col); break;
          case Types.CLOB: obj = rs.getClob(col); break;
          case Types.DATALINK: obj = rs.getString(col); break;
          case Types.DATE: Timestamp ts = rs.getTimestamp(col); if (ts!=null) obj = new Date(ts.getTime()); else obj=null; break;
          case Types.DECIMAL: obj = rs.getBigDecimal(col); break;
          case Types.DISTINCT: obj = rs.getString(col); break;
          case Types.DOUBLE: obj = new Double(rs.getDouble(col)); break;
          case Types.FLOAT: obj = new Float(rs.getFloat(col)); break;
          case Types.INTEGER: obj = new Integer(rs.getInt(col)); break;
          case Types.JAVA_OBJECT: obj = rs.getString(col); break;
          case Types.LONGVARBINARY: obj = rs.getBigDecimal(col); break;
          case Types.LONGVARCHAR: obj = rs.getString(col); break;
          case Types.NULL: obj = null;
          case Types.NUMERIC: obj = new Long(rs.getLong(col)); break;
          case Types.OTHER: obj = rs.getString(col); break;
          case Types.REAL: obj = rs.getString(col); break;
          case Types.REF: obj = rs.getString(col); break;
          case Types.SMALLINT: obj = new Integer(rs.getInt(col)); break;
          case Types.STRUCT: obj = rs.getString(col); break;
          case Types.TIME: obj = rs.getTime(col); break;
          case Types.TIMESTAMP: obj = rs.getTimestamp(col); break;
          case Types.TINYINT: obj = new Integer(rs.getInt(col)); break;
          case Types.VARBINARY: obj = rs.getBinaryStream(rs.getInt(col)); break;
          case Types.VARCHAR: obj = rs.getString(col); break;
          default: obj = rs.getString(col);
        }
        //System.out.print(obj.toString());
        return obj;
    }

    public boolean next() throws SQLException {
        return rs.next();
    }
}

⌨️ 快捷键说明

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