Java编程 jtable展示数据库数据 (jtable显示数据库)

Java编程:JTable展示数据库数据

在Java编程中,JTable是表格组件的一种,可以展示复杂的数据信息,例如数据库数据。本文将介绍如何使用Java Swing中的JTable组件展示数据库数据。

首先需要连接数据库,下面以MySQL为例:

“`java

String url = “jdbc:mysql://localhost:3306/db_name”;

String username = “root”;

String password = “password”;

Class.forName(“com.mysql.cj.jdbc.Driver”);

Connection con = DriverManager.getConnection(url, username, password);

“`

其中,url是数据库连接URL,db_name为数据库名称;username和password分别为数据库用户名和密码。

接下来,使用SQL查询语句获取数据:

“`java

Statement stmt = con.createStatement();

String sql = “SELECT * FROM table_name”;

ResultSet rs = stmt.executeQuery(sql);

“`

其中,table_name是要查询的表格名称。

将查询结果转化为二维数组:

“`java

ArrayList> data = new ArrayList();

ArrayList columnNames = new ArrayList();

ResultSetMetaData md = rs.getMetaData();

int columns = md.getColumnCount();

for (int i = 1; i

columnNames.add(md.getColumnName(i));

}

while (rs.next()) {

ArrayList row = new ArrayList(columns);

for (int i = 1; i

row.add(rs.getString(i));

}

data.add(row);

}

“`

其中,使用ArrayList来存储数据,便于后续展示。

创建JTable对象并将数据和表格头添加进去:

“`java

JTable table = new JTable();

DefaultTableModel model = new DefaultTableModel();

table.setModel(model);

for (String columnName : columnNames) {

model.addColumn(columnName);

}

for (ArrayList rowData : data) {

String[] row = new String[rowData.size()];

row = rowData.toArray(row);

model.addRow(row);

}

“`

在这一步中,也可以自定义表格头和模型,提供更好的用户体验。

最后将表格添加到Swing中:

“`java

crollPane scrollPane = new crollPane(table);

JFrame frame = new JFrame(“Database Table”);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.add(scrollPane);

frame.pack();

frame.setVisible(true);

“`

crollPane是Swing中提供的滚动面板组件,用于支持超出屏幕大小的控件。JFrame是Swing中的顶层容器,被设计为可以嵌套其他组件。其中,crollPane和JFrame的具体设置可以根据实际需要进行修改。

相关问题拓展阅读:

jtable中的数据怎么更新到数据库

思路:

双击表格中你要更改的数据,然后将要更改的数据显示到一个新的窗体上,显示的内容基本上都是用文本框显示,修改完后点击确定按钮,在按钮的点击事件下,写数据库的修改。

再在你的主函数里写一个显示函数做更新,只要你已有添加,修改,删除,table就会立刻显示!

关于jtable显示数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Java编程 jtable展示数据库数据 (jtable显示数据库)