JavaFX调用数据库的方法及步骤详解?如何实现与数据库的交互?
- 后端开发
- 2025-09-24
- 5
在JavaFX中调用数据库,通常需要使用JDBC(Java Database Connectivity)API,以下是一个详细的步骤,指导你如何在JavaFX应用程序中连接和查询数据库。
准备数据库
你需要一个数据库,以下是一个简单的示例,我们将使用MySQL数据库。
- 创建一个数据库(javafxdb)。
- 创建一个表(users),包含以下字段:id(INT),name(VARCHAR),age(INT)。
CREATE DATABASE javafxdb; USE javafxdb; CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), age INT );
添加JDBC驱动
在你的JavaFX项目中,需要添加MySQL的JDBC驱动,如果你使用的是Maven或Gradle,可以在pom.xml或build.gradle文件中添加以下依赖:

Maven:
<dependency> <groupId>mysql</groupId> <artifactId>mysqlconnectorjava</artifactId> <version>8.0.26</version> </dependency>
Gradle:

连接数据库
在JavaFX应用程序中,你可以使用以下代码连接到数据库:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DatabaseConnection { private static final String URL = "jdbc:mysql://localhost:3306/javafxdb"; private static final String USER = "root"; private static final String PASSWORD = "password"; public static Connection getConnection() throws SQLException { return DriverManager.getConnection(URL, USER, PASSWORD); } }
执行SQL查询
以下是一个示例,展示如何执行一个简单的SQL查询:
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DatabaseQuery { public static void queryDatabase() { String query = "SELECT * FROM users"; try (Connection connection = DatabaseConnection.getConnection(); PreparedStatement statement = connection.prepareStatement(query); ResultSet resultSet = statement.executeQuery()) { while (resultSet.next()) { int id = resultSet.getInt("id"); String name = resultSet.getString("name"); int age = resultSet.getInt("age"); System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age); } } catch (SQLException e) { e.printStackTrace(); } } }
关闭数据库连接
在完成数据库操作后,应该关闭数据库连接,在上述代码中,我们使用了trywithresources语句来自动关闭资源。

表格:JDBC URL、用户名和密码示例
| 数据库类型 | JDBC URL | 用户名 | 密码 |
|---|---|---|---|
| MySQL | jdbc:mysql://localhost:3306/javafxdb | root | password |
| PostgreSQL | jdbc:postgresql://localhost:5432/javafxdb | postgres | postgres |
FAQs
Q1: 如何处理数据库连接异常?
A1: 当数据库连接失败时,通常会抛出SQLException,你可以捕获这个异常并处理它,例如显示一个错误消息给用户。
Q2: 如何在JavaFX应用程序中更新数据库?
A2: 更新数据库通常需要执行一个UPDATE语句,以下是一个示例:
String updateQuery = "UPDATE users SET name = ?, age = ? WHERE id = ?"; try (Connection connection = DatabaseConnection.getConnection(); PreparedStatement statement = connection.prepareStatement(updateQuery)) { statement.setString(1, "John Doe"); statement.setInt(2, 30); statement.setInt(3, 1); int rowsAffected = statement.executeUpdate(); if (rowsAffected > 0) { System.out.println("User updated successfully."); } else { System.out.println("No user found with the specified ID."); } } catch (SQLException e) { e.printStackTrace(); }