gpt4 book ai didi

java - 从 SQL 查询方法返回泛型类型

转载 作者:行者123 更新时间:2023-12-01 10:22:02 25 4
gpt4 key购买 nike

我试图从 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();
}

进一步引用Types in sql

关于java - 从 SQL 查询方法返回泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35532699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com