java如何获得数据库表中各字段的字段名

java如何获得数据库表中各字段的字段名,第1张

import java.sql.*

import java.util.ArrayList

import java.util.Hashtable

import java.util.Listpublic class Test{ public static void main(String[] args) throws Exception {

// 驱动

String driver = "com.mysql.jdbc.Driver"

// 数据库连接

String url = "jdbc:mysql://localhost:3306/test"

// 用户名

String user = "root"

// 数据库密码

String password = "admin"

// 加载驱动

Class.forName(driver)

// 获取链接

Connection connection = DriverManager

.getConnection(url, user, password)

// 创建查询声明

PreparedStatement preparedStatement = connection

.prepareStatement("select * from dept")

// 获取结果

ResultSet resultSet = preparedStatement.executeQuery()

// 获取各个列的信息

ResultSetMetaData metaData = resultSet.getMetaData()

// 一条数据保存在一个Hashtable 将所有Hashtable存放到list

List<Hashtable<String, Object>>rows = new ArrayList<Hashtable<String, Object>>()

while (resultSet.next()) {

Hashtable<String, Object>row = new Hashtable<String, Object>()

for (int i = 1i <= metaData.getColumnCount()i++) {

// 打印列名

System.out.println(metaData.getColumnName(i))

row.put(metaData.getColumnName(i), resultSet.getObject(i))

}

rows.add(row)

}

resultSet.close()

preparedStatement.close()

connection.close()

}}

mysql里面提供了很多方法来获取表结构和表列:如下方法

获得某表所有列的信息:

String sql = select * from tname//tname为某一表名

Connection conn = ....

Statement st = conn.createStatement()

ResultSet rs = st.rs = st.executeQuery(sql)

ResultSetMetaData rsmd = rs.getMetaData()

int colcount = rsmd.getColumnCount()//取得全部列数

for(int i=0i<colcounti++){

String colname = rsmd.getColumnName(i)//取得全部列名

}

以上为某表字段具体查询,如果是查询表的信息,如在mysql服务器上那样的查询结果的话,可以用一下代码:

ResultSet.executeQuery("show tables")可以的到所有的表信息。

ResultSet.executeQuery("describe tname")可以得到表的字段信息。//tname为表名


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9887381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存