需求背景:用户可以查询数据库中所有表的列名和数据进行展示
连接数据库并查询数据
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
try {
String url = "jdbc:postgresql://**:**/test";
Class.forName("org.postgresql.Driver");
connection= DriverManager.getConnection(url, "**", "**");
String sql ="select * from table limit 2 offset 0";
statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
convertList(resultSet);
resultSet.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
获取ResultSet 对象中列的类型和属性信息
private static List<Map<String, ?>> convertList(ResultSet rs) throws SQLException {
List<Map<String, ?>> list = new ArrayList<>();
while (rs.next()) {
ResultSetMetaData md = rs.getMetaData();//获取键名即列名
int columnCount = md.getColumnCount();//获取列的数量
Map<String, Object> orderedRecords = new LinkedHashMap<>();
for (int i = 1; i <= columnCount; i++) {
System.out.println(md.getColumnName(i) + "---" + rs.getObject(i));
orderedRecords.put(md.getColumnName(i), rs instanceof BigInteger ? ((BigInteger) rs).longValue() : rs);
}
list.add(orderedRecords);
}
return list;
}
更多使用及方法可参考:oracle官网
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有