JDBC获取数据库列名-关于 ResultSet 对象中列的类型和属性信息

简介: JDBC获取数据库列名-关于 ResultSet 对象中列的类型和属性信息

需求背景:用户可以查询数据库中所有表的列名和数据进行展示

连接数据库并查询数据

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官网

目录
相关文章
|
6月前
|
NoSQL 数据库
Google Earth Engine(GEE)——美国大陆(CONUS)30米土壤属性概率图数据库
Google Earth Engine(GEE)——美国大陆(CONUS)30米土壤属性概率图数据库
82 0
|
SQL Java 数据库
第一季:8spring支持的常用数据库事务传播属性和事务隔离级别【Java面试题】
第一季:8spring支持的常用数据库事务传播属性和事务隔离级别【Java面试题】
135 0
|
6月前
|
存储 JSON NoSQL
数据库- 动态属性策略
数据库- 动态属性策略
105 2
|
2月前
|
前端开发 IDE 数据库连接
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
本文详细介绍了ThinkPHP6中模型层的使用,包括模型属性设置、表映射关系、以及如何在控制层中使用模型层进行CRUD操作。
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
|
3月前
|
数据管理 数据处理 数据库
数据库中的 ACID 属性详解
【8月更文挑战第31天】
75 0
|
3月前
|
存储 SQL 数据库
实时数仓 Hologres产品使用合集之如何查看当前数据库下的所有表和表属性
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
6月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之使用JDBC方式读取Oracle的number类型时,通过什么方式进行映射
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
153 0
实时计算 Flink版产品使用合集之使用JDBC方式读取Oracle的number类型时,通过什么方式进行映射
|
6月前
|
数据库
MybatisPlus属性字段为数据库关键字
MybatisPlus属性字段为数据库关键字
105 0
|
6月前
|
SQL Oracle 关系型数据库
数据库的事务的四大属性和四大隔离级别(mysql)
数据库的事务的四大属性和四大隔离级别(mysql)
112 0
|
存储 Java 数据库连接
JDBC中MetaData对象使用与详解
JDBC中MetaData对象使用与详解
163 0
下一篇
无影云桌面