JavaFX程序初次运行创建数据库并执行建表SQL详解

下面是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技术站

(0)
上一篇 2023年6月16日
下一篇 2023年6月16日

相关文章

  • java文件操作之Path,Paths,Files

    Java文件操作之Path、Paths、Files Java中的Path、Paths和Files是比较常用的文件操作类,提供了丰富的API用于文件的读写、复制、移动、删除等操作。 Path Path是java.nio包中的一个接口,代表一个文件系统中的路径。在创建一个Path对象时,可以向它传递一个字符串表示路径,这个字符串中可以使用反斜杠也可以使用正斜杠作…

    Java 2023年5月19日
    00
  • Mybatis Plus使用XML编写动态sql的超简易方法

    下面详细讲解”Mybatis Plus使用XML编写动态SQL的超简易方法”。 简介 Mybatis Plus是Mybatis的增强工具,可以用来简化Mybatis的开发。Mybatis Plus默认使用了entity的字段映射表中的字段,但是在实际开发过程中,我们经常会遇到重用entity映射表中同一个字段做不同的条件查询的情况,这时候我们就需要用XML来…

    Java 2023年5月20日
    00
  • Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例)

    以下是详细的攻略: Linux(CentOS7)安装Tomcat 首先,需要下载Tomcat安装包。可以去Tomcat官网下载最新版的二进制版本。在本次攻略中,我们将以tomcat8为例进行说明。 下载完成之后,将tomcat8安装包上传到CentOS系统上的指定路径,比如/usr/local/src/下。 接下来,按照以下步骤安装Tomcat: 第一步:解…

    Java 2023年5月19日
    00
  • 带你入门java雪花算法原理

    带你入门java雪花算法原理 概述 雪花算法(Snowflake)是 Twitter 开源的分布式 id 生成算法,以其独特的 id 生成方式,广泛用于分布式系统中唯一 id 的生成,保证了分布式系统中数据的唯一性。 原理 雪花算法生成的 id 是一个 64 位的 long 型整数,其中: 1 bit:表示不可用,Java long 类型的高位是符号位,正数…

    Java 2023年5月19日
    00
  • 详解Spring Boot实战之Restful API的构建

    详解SpringBoot实战之RestfulAPI的构建攻略 介绍 本文将详细介绍如何使用Spring Boot构建一个带有Restful API的Web应用,并以具体示例来说明其中的细节和注意事项。 环境准备 在开始前,请确保已经安装好以下环境:- JDK 8或以上版本- Maven 3.x或以上版本- IDEA或其他Java IDE 创建新项目 首先,我…

    Java 2023年5月15日
    00
  • ESC之ESC.wsf可以实现javascript的代码压缩附使用方法第1/5页

    ESC之ESC.wsf可以实现javascript的代码压缩附使用方法 什么是ESC和ESC.wsf? ESC是一种单向加密机制,其全称为“Escape Sequence”,中文意思是“转义序列”。当一个字符在普通字符串中使用特定编码表示时,它就成为了转义字符,在JavaScript中常被用来表示特殊字符或者格式化字符串等。 而ESC.wsf则是一种通用的脚…

    Java 2023年6月15日
    00
  • MyBatis 核心配置文件及映射文件详解

    来详细讲解一下“MyBatis 核心配置文件及映射文件详解”的攻略。 MyBatis 核心配置文件 MyBatis 核心配置文件是 MyBatis 使用的基本配置文件,用于配置数据库连接、事务管理等基本信息。下面是 MyBatis 核心配置文件的配置选项: 属性配置 MyBatis 核心配置文件的属性配置包括以下信息: environment(必须配置):设…

    Java 2023年5月20日
    00
  • 对象的创建过程包括哪些步骤?

    以下是关于“对象的创建过程包括哪些步骤?”的完整使用攻略: 1. 对象的创建过程 在Java中,对象的创建过程包括以下几个步骤: 类加载:在Java程序运行,JVM会将类的字节码加载到内存中,并对类进行解析和验证。 分配内存:在类加载完成后,VM会在堆内存中为对象配一块连续的内存空间。在分配内存时,JVM会根据对象的大小和内存分配策略来确定内存分配方式。 初…

    Java 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部