All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.owdp.dbutil.impl.ResultSetHandler Maven / Gradle / Ivy

The newest version!
package com.owdp.dbutil.impl;


import com.owdp.dbutil.QueryException;


import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.ResultSet;
import java.sql.SQLException;


public final class ResultSetHandler {




    //注意,两个函数虽然代码一样,但是一个是int型,一个是string型。
    public static Object get(ResultSet resultSet, String index, Class type,String columnMeta) throws SQLException {
        if(type == String.class){
            return resultSet.getString(index);
        }else if(type == Boolean.class || type == boolean.class){
            return resultSet.getBoolean(index);
        }else if(type == Byte.class || type == byte.class){
            return resultSet.getByte(index);
        }else if(type == Short.class || type == short.class){
            return resultSet.getShort(index);
        }else if(type == Integer.class || type == int.class){
            return resultSet.getInt(index);
        }else if(type == Long.class || type == long.class){
            return resultSet.getLong(index);
        }else if(type == Float.class || type == float.class){
            return resultSet.getFloat(index);
        }else if(type == Double.class || type == double.class){
            return resultSet.getDouble(index);
        }else if(type == BigDecimal.class){
            return resultSet.getBigDecimal(index);
        }else if(type == byte[].class){
            return resultSet.getBytes(index);
        }else if(type == java.util.Date.class){ //这里需要转化一下
            long time = resultSet.getDate(index).getTime();
            return new java.util.Date(time);
        }else if(type == java.sql.Date.class){
            return resultSet.getDate(index);
        }else if(type == java.sql.Time.class){
            return resultSet.getTime(index);
        }else if(type == java.sql.Timestamp.class){
            return resultSet.getTimestamp(index);
        }else if(type == Blob.class){
            return resultSet.getBlob(index);
        }else if(type == Clob.class){
            return resultSet.getClob(index);
        }else if(InputStream.class.isAssignableFrom(type)){
            return resultSet.getBlob(index).getBinaryStream();
        }else if(Reader.class.isAssignableFrom(type)) {
            return resultSet.getClob(index).getCharacterStream();
        }
        throw new QueryException("unsupported sql type :"+type + " of "+columnMeta);
    }

    public static Object get(ResultSet resultSet,int index,Class type,String columnMeta) throws SQLException {
        if(type == String.class){
            return resultSet.getString(index);
        }else if(type == Boolean.class || type == boolean.class){
            return resultSet.getBoolean(index);
        }else if(type == Byte.class || type == byte.class){
            return resultSet.getByte(index);
        }else if(type == Short.class || type == short.class){
            return resultSet.getShort(index);
        }else if(type == Integer.class || type == int.class){
            return resultSet.getInt(index);
        }else if(type == Long.class || type == long.class){
            return resultSet.getLong(index);
        }else if(type == Float.class || type == float.class){
            return resultSet.getFloat(index);
        }else if(type == Double.class || type == double.class){
            return resultSet.getDouble(index);
        }else if(type == BigDecimal.class){
            return resultSet.getBigDecimal(index);
        }else if(type == byte[].class){
            return resultSet.getBytes(index);
        }else if(type == java.util.Date.class){ //这里需要转化一下
            long time = resultSet.getDate(index).getTime();
            return new java.util.Date(time);
        }else if(type == java.sql.Date.class){
            return resultSet.getDate(index);
        }else if(type == java.sql.Time.class){
            return resultSet.getTime(index);
        }else if(type == java.sql.Timestamp.class){
            return resultSet.getTimestamp(index);
        }else if(type==Blob.class){
            return resultSet.getBlob(index);
        }else if(type == Clob.class){
            return resultSet.getClob(index);
        }else if(InputStream.class.isAssignableFrom(type)){
            return resultSet.getBlob(index).getBinaryStream();
        }else if(Reader.class.isAssignableFrom(type)) {
            return resultSet.getClob(index).getCharacterStream();
        }
        throw new QueryException("unsupported sql type :"+type + " of "+columnMeta);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy