下面是JavaFX程序初次运行创建数据库并执行建表SQL的完整攻略。
前置知识
在进行本攻略前,需要以下知识储备:
- Java语言基础
- JDBC编程
- MySQL数据库
步骤
步骤1:导入MySQL驱动
JavaFX程序中需要使用MySQL数据库,因此需要导入MySQL驱动。可在Maven配置文件中添加以下依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
步骤2:创建数据库
在JavaFX程序初次运行时,需要检查是否已创建数据库,如果数据库不存在则需要创建。
以下是创建数据库的代码示例:
String url = "jdbc:mysql://localhost:3306?serverTimezone=GMT%2B8&useSSL=false";
String user = "root";
String password = "root";
try (Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement()) {
stmt.executeUpdate("CREATE DATABASE IF NOT EXISTS test_db");
}
步骤3:执行建表SQL语句
在创建完数据库后,需要执行建表SQL语句以创建数据表。
以下是执行建表SQL语句的代码示例:
String url = "jdbc:mysql://localhost:3306/test_db?serverTimezone=GMT%2B8&useSSL=false";
String user = "root";
String password = "root";
try (Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement()) {
String sql = "CREATE TABLE IF NOT EXISTS user (" +
"id INT(11) NOT NULL AUTO_INCREMENT," +
"username VARCHAR(50) NOT NULL," +
"password VARCHAR(50) NOT NULL," +
"PRIMARY KEY (id)" +
")";
stmt.executeUpdate(sql);
}
整合到JavaFX程序中
将以上代码整合到JavaFX程序中,并在程序的初始启动时执行即可。
示例代码:
public class App extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
String driver = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306?serverTimezone=GMT%2B8&useSSL=false";
String user = "root";
String password = "root";
try {
Class.forName(driver);
} catch (ClassNotFoundException ignored) {
}
try (Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement()) {
stmt.executeUpdate("CREATE DATABASE IF NOT EXISTS test_db");
String sql = "CREATE TABLE IF NOT EXISTS user (" +
"id INT(11) NOT NULL AUTO_INCREMENT," +
"username VARCHAR(50) NOT NULL," +
"password VARCHAR(50) NOT NULL," +
"PRIMARY KEY (id)" +
")";
stmt.executeUpdate(sql);
}
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/sample.fxml"));
primaryStage.setTitle("Hello World");
primaryStage.setScene(new Scene(loader.load(), 300, 275));
Controller controller = loader.getController();
controller.init();
primaryStage.show();
}
}
在上述示例中,我们使用了JavaFX框架,加载了/sample.fxml文件并创建了控制器controller,在程序启动时执行了上述的数据库创建和建表SQL语句。
至此,JavaFX程序初次运行创建数据库并执行建表SQL的攻略完成。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaFX程序初次运行创建数据库并执行建表SQL详解 - Python技术站