JFrame是Java中最常用的窗口類。MySQL是一種流行的關系型數據庫管理系統。結合使用JFrame和MySQL可以創建一個功能強大的數據庫管理應用程序。在本文中,我們將介紹如何使用JFrame和MySQL,創建一個簡單的數據庫管理應用程序。
我們將使用JDBC驅動程序連接到MySQL數據庫。下面是連接到MySQL的示例代碼:
try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/database", "username", "password"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }
上面的代碼片段假定您已經安裝了MySQL服務器,并在本地主機上運行了一個名為“database”的數據庫。您需要將“username”和“password”替換為您的MySQL登錄憑據。
有了連接打開,我們可以執行各種SQL命令。例如,以下代碼可以從數據庫中檢索所有行,然后在控制臺中打印它們:
String query = "SELECT * FROM mytable"; try { Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(query); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); System.out.println("ID: " + id + ", Name: " + name); } } catch (SQLException e) { e.printStackTrace(); }
如果您想將查詢結果與GUI進行交互,您可以使用JTable組件。以下代碼片段演示如何從數據庫中選擇所有行,然后將其顯示在JTable中:
String query = "SELECT * FROM mytable"; try { Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(query); // create table model ResultSetMetaData meta = rs.getMetaData(); int numColumns = meta.getColumnCount(); DefaultTableModel model = new DefaultTableModel(); for (int i = 1; i<= numColumns; i++) { model.addColumn(meta.getColumnName(i)); } // populate table model while (rs.next()) { Object[] row = new Object[numColumns]; for (int i = 1; i<= numColumns; i++) { row[i-1] = rs.getObject(i); } model.addRow(row); } // create and show table JTable table = new JTable(model); JScrollPane scrollPane = new JScrollPane(table); JFrame frame = new JFrame(); frame.add(scrollPane); frame.pack(); frame.setVisible(true); } catch (SQLException e) { e.printStackTrace(); }
上面的代碼將創建一個JTable,然后將其包含在一個JScrollPane中并添加到JFrame上。請注意,這只是JTable用法的一種方式。您可以根據需要自定義表格的外觀和行為。