java 获得表的列名_Java如何使用ResultSetMetaData获取表的列名?

本示例说明如何使用ResultSetMetadata该类来获取所选表的列数和列名。该ResultSetMetaData班还可以用于获取列类型及其属性。

使用此类可以帮助您创建一个查询程序,在该程序中您不具有有关表列的所有信息。package org.nhooo.example.jdbc;

import java.sql.*;

import java.util.ArrayList;

public class MetadataColumnExample {

private static final String URL = "jdbc:mysql://localhost/nhooo";

private static final String USERNAME = "root";

private static final String PASSWORD = "";

public static void main(String[] args) throws Exception {

try (Connection connection =

DriverManager.getConnection(URL, USERNAME, PASSWORD)) {

// 在下面的语句中,我们将从用户中选择所有记录

// 表,然后尝试查找它具有的所有列。

Statement statement = connection.createStatement();

ResultSet resultSet = statement.executeQuery(

"SELECT * FROM books");

// ResultSetMetaData是所有元数据相关的地方

// 存储结果集的信息。

ResultSetMetaData metadata = resultSet.getMetaData();

int columnCount = metadata.getColumnCount();

// 为了获得列名,我们对多个列进行循环

//计数返回上面。并且请记住JDBC操作

// 是1索引的,因此每个索引都从1开始而不是数组中的0。

ArrayList columns = new ArrayList<>();

for (int i = 1; i 

String columnName = metadata.getColumnName(i);

columns.add(columnName);

}

// 稍后,我们使用收集的列名称来获取的值

// 它自己的列。

while (resultSet.next()) {

for (String columnName : columns) {

String value = resultSet.getString(columnName);

System.out.println(columnName + " = " + value);

}

}

} catch (SQLException e) {

e.printStackTrace();

}

}

}

我们上面的示例生成的一些结果是:isbn = 9781617291999

title = Java 8 in Action

published_year = 2015

Maven依赖

mysql

mysql-connector-java

8.0.17

mysql-connector-java.svg?label=Maven%20Central

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值