java如何显示表
使用JDBC连接数据库并显示表
确保已导入java.sql相关包,并加载数据库驱动(如MySQL需添加com.mysql.jdbc.Driver)。
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名", "用户名", "密码");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM 表名");
遍历结果集并输出表内容
通过ResultSet对象逐行读取数据,使用ResultSetMetaData获取列信息。
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount();
while (rs.next()) {
for (int i = 1; i <= columnCount; i++) {
System.out.print(metaData.getColumnName(i) + ": " + rs.getString(i) + "\t");
}
System.out.println();
}
使用JTable可视化展示(Swing)
对于图形界面应用,可通过javax.swing.JTable组件显示表格数据。
DefaultTableModel model = new DefaultTableModel();
JTable table = new JTable(model);
// 添加列名
for (int i = 1; i <= metaData.getColumnCount(); i++) {
model.addColumn(metaData.getColumnName(i));
}
// 添加数据行
while (rs.next()) {
Object[] row = new Object[columnCount];
for (int i = 1; i <= columnCount; i++) {
row[i-1] = rs.getObject(i);
}
model.addRow(row);
}
使用第三方库简化操作
对于复杂场景,可考虑使用Apache Commons DbUtils或Hibernate等工具库。

QueryRunner runner = new QueryRunner(dataSource);
List<Object[]> results = runner.query("SELECT * FROM 表名", new ArrayListHandler());
注意事项
- 数据库操作完成后需关闭连接(
rs.close(),stmt.close(),conn.close()) - 推荐使用try-with-resources自动管理资源
- 敏感信息(如密码)应避免硬编码,建议使用配置文件或环境变量






