簡體   English   中英

從SQL查詢方法返回泛型類型

[英]Return generic types from an sql query method

我正在嘗試從sql查詢方法返回泛型類型,但我堅持將數據庫中的值分配給泛型類型:

public static <T extends Comparable<T>> T selectQuery(Connection conn, String sql, T[] parameters) {
        T value = null;
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            List<T> list = Arrays.asList(parameters);
            for (T param : list) {
                if (param instanceof String) {
                    ps.setString(list.indexOf(param), (String) param);
                } else if (param instanceof Integer) {
                    ps.setInt(list.indexOf(param), (Integer) param);
                } else if (param instanceof Double) {
                    ps.setDouble(list.indexOf(param), (Double) param);
                }
            }
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                 //AM STUCK RIGHT HERE************
            }
            Conn.closeConn(conn);
        } catch (Exception asd) {
            System.out.println(asd.getMessage());
        }
        return value;
    }

請幫助我提供有關此挑戰的建議。

int i=0;
while (rs.next()) 
{
     int type=rs.getMetaData().getColumnTypeName(i);
     if(type ==Types.INTEGER)
       value = (T) rs.getInt();
     else if(type ==Types.DOUBLE)
       value = (T) rs.getDouble();
     else if(type ==Types.FLOAT)
       value = (T) rs.getFloat();
     else if(type ==Types.VARCHAR)
       value = (T) rs.getString();
     else if(type ==Types.LONG)
       value = (T) rs.getLong();
}

有關sql中的類型的更多參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM