Java swing实现应用程序对数据库的访问问题

yizhihongxing

Java Swing是Java语言中的一个图形用户界面(GUI)工具包,可以实现丰富的GUI应用程序。在开发Java应用程序时,需要经常使用数据库来存储和检索数据。本攻略将讲解如何在Java Swing中实现应用程序对数据库的访问。

1. 创建数据库

首先需要创建一个数据库,并创建一个表以存储数据。

示例1:使用MySQL创建一个名为test库,在该库中创建一个名为students的表,并插入一些测试数据。

CREATE DATABASE test;

CREATE TABLE students (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(50) NOT NULL,
  age int(11) NOT NULL,
  PRIMARY KEY (id)
);

INSERT INTO students (name, age) VALUES ('Peter', 25);
INSERT INTO students (name, age) VALUES ('Mary', 22);

2. 导入数据库驱动

需要将适当版本的数据库驱动程序添加到项目中。可以从官方网站或Maven库获取最新版本的MySQL JDBC驱动程序。

示例2:使用Maven导入MySQL JDBC驱动程序

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.26</version>
</dependency>

3. 连接数据库

在Java Swing应用程序中,需要创建一个数据库连接以便访问数据。连接MySQL数据库的示例代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBConnect {
    private Connection conn;
    private final String url = "jdbc:mysql://localhost:3306/test";
    private final String user = "root";
    private final String password = "password";

    public DBConnect() {
        try {
            // 加载MySQL JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 建立数据库连接
            conn = DriverManager.getConnection(url, user, password);
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }

    public Connection getConnection() {
        return conn;
    }

    public void closeConnection() {
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

4. 设置GUI界面并查询数据库

接下来需要将GUI界面设置为显示数据库中的数据。可以使用Java Swing中的JTable组件来显示数据。
示例3:将数据库中的学生数据显示在JTable组件中

import java.awt.BorderLayout;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

public class TableExample extends JFrame {
    private static final long serialVersionUID = 1L;
    private JTable table;

    public TableExample() {
        // 设置GUI界面
        setTitle("Students");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300, 200);

        // 查询数据库中的学生数据
        Connection conn = new DBConnect().getConnection();
        String sql = "SELECT * FROM students";
        try {
            PreparedStatement pstmt = conn.prepareStatement(sql);
            ResultSet rs = pstmt.executeQuery();

            // 创建一个2D数组,用于存储从数据库中取出的数据
            Object[][] data = new Object[2][2];
            int i = 0;
            while (rs.next()) {
                data[i][0] = rs.getString("name");
                data[i][1] = rs.getInt("age");
                i++;
            }

            // 设置JTable并将数据添加到其中
            table = new JTable(data, new String[] {"Name", "Age"});
            getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
            pack();
            setVisible(true);

            pstmt.close();
            rs.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        new TableExample();
    }
}

通过上述示例,可以在Java Swing应用程序中实现对MySQL数据库的访问,并显示数据库中的数据。可以通过修改数据库连接和查询语句,将示例代码应用到其他类型的数据库中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java swing实现应用程序对数据库的访问问题 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • springboot打包如何忽略Test单元测试

    使用Maven插件 首先在pom.xml中使用Maven插件,添加如下代码段,其中,true表示不执行单元测试: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spri…

    Java 2023年5月19日
    00
  • Spring Boot 接口加解密,新姿势来了!

    1. 介绍 在我们日常的Java开发中,免不了和其他系统的业务交互,或者微服务之间的接口调用 如果我们想保证数据传输的安全,对接口出参加密,入参解密。 但是不想写重复代码,我们可以提供一个通用starter,提供通用加密解密功能 2. 前置知识 2.1 hutool-crypto加密解密工具 hutool-crypto提供了很多加密解密工具,包括对称加密,非…

    Java 2023年4月17日
    00
  • 如何使用线程池?

    使用线程池可以有效地管理系统中的线程资源,从而提高程序的运行效率和性能,以下是使用线程池的完整使用攻略。 创建线程池 要使用线程池,首先需要创建线程池。线程池可以使用Java提供的ExecutorService类来创建,ExecutorService是一个线程池创建和管理类,可以通过Executors工厂方法来创建不同类型的线程池,包括固定大小线程池、可缓存…

    Java 2023年5月10日
    00
  • 详解Spring极速集成注解redis实录

    详解Spring极速集成注解redis实录 前言 本文主要介绍Spring如何快速集成redis并使用注解方式进行操作。本教程需要你具备基本的Spring MVC框架的了解和redis的使用知识。 正文 一、引入redis依赖 在Spring项目中引入下面的redis依赖: <dependency> <groupId>org.spri…

    Java 2023年6月3日
    00
  • 总结Java对象被序列化的两种方法

    下面就是“总结Java对象被序列化的两种方法”的完整攻略。 第一种方法:实现Serializable接口 Java提供了一个Serializable接口,如果想让一个对象可序列化,只需要在该类上实现Serializable接口即可。实现Serializable接口的类,系统会自动为其生成一个serialVersionUID值,它是序列化版本号,用于在反序列化…

    Java 2023年5月26日
    00
  • C#语法糖(Csharp Syntactic sugar)大汇总

    让我详细讲解“C#语法糖(Csharp Syntactic sugar)大汇总”的完整攻略。 什么是C#语法糖? C#语法糖,也称为Csharp Syntactic sugar,指的是一些C#编程语言中的语法结构,这些结构并不会让代码变得更加强大,但是却可以让代码变得更加简洁易懂。在实际编写程序时,使用C#语法糖可以提高代码可读性和可维护性。 具体的C#语法…

    Java 2023年5月19日
    00
  • Spring体系的各种启动流程详解

    Spring是一个非常流行的Java框架,它提供了许多功能和组件,可以帮助我们构建高效、可扩展和易于维护的应用程序。在本攻略中,我们将详细讲解Spring体系的各种启动流程,包括Spring Boot、Spring MVC和Spring Cloud等。 Spring Boot启动流程 Spring Boot是一个基于Spring框架的快速开发框架,它可以帮助…

    Java 2023年5月14日
    00
  • Springboot启动原理和自动配置原理

    放本地文件夹都快吃土了,准备清理文件夹,关于Springboot的! 启动原理 @SpringBootApplication public class Start { public static void main(String[] args) { SpringApplication.run(Start.class, args); } } SpringApp…

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