Java实现stuDB数据库中'course'信息表的查询与显示

本文将介绍如何使用Java语言编写程序,实现对stuDB数据库中'course'信息表中课程信息的查询和显示。

1. 建立'course'信息表

首先,在stuDB数据库中建立一个名为'course'的信息表,用于存储课程信息。该表包含以下字段:

  • course_id:课程编号 (INT, 主键)
  • course_name:课程名称 (VARCHAR(50))
  • course_type:课程类型 (VARCHAR(20))
  • credit:学分数 (FLOAT)
  • total_hours:总学时 (INT)
  • theory_hours:理论学时 (INT)
  • experiment_hours:实验学时 (INT)

可以使用以下SQL语句创建该表:

CREATE TABLE course (
    course_id INT PRIMARY KEY,
    course_name VARCHAR(50),
    course_type VARCHAR(20),
    credit FLOAT,
    total_hours INT,
    theory_hours INT,
    experiment_hours INT
);

2. Java程序实现

2.1 字符界面程序

以下是一个简单的Java字符界面程序,使用JDBC API连接数据库并显示查询结果:

import java.sql.*;

public class CourseQuery {
    public static void main(String[] args) {
        try {
            // 连接数据库
            String url = 'jdbc:mysql://localhost/stuDB';
            String user = 'root';
            String password = 'password';
            Connection conn = DriverManager.getConnection(url, user, password);

            // 执行查询语句
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery('SELECT * FROM course');

            // 显示查询结果
            while (rs.next()) {
                System.out.println('Course ID: ' + rs.getInt('course_id'));
                System.out.println('Course Name: ' + rs.getString('course_name'));
                System.out.println('Course Type: ' + rs.getString('course_type'));
                System.out.println('Credit: ' + rs.getFloat('credit'));
                System.out.println('Total Hours: ' + rs.getInt('total_hours'));
                System.out.println('Theory Hours: ' + rs.getInt('theory_hours'));
                System.out.println('Experiment Hours: ' + rs.getInt('experiment_hours'));
                System.out.println();
            }

            // 关闭连接
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

2.2 图形界面程序

以下是一个简单的Java图形界面程序,使用Swing库和JTable组件显示查询结果:

import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class CourseQueryGUI {
    public static void main(String[] args) {
        try {
            // 连接数据库
            String url = 'jdbc:mysql://localhost/stuDB';
            String user = 'root';
            String password = 'password';
            Connection conn = DriverManager.getConnection(url, user, password);

            // 执行查询语句
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery('SELECT * FROM course');

            // 构造表格模型
            String[] columnNames = {'Course ID', 'Course Name', 'Course Type', 'Credit', 'Total Hours', 'Theory Hours', 'Experiment Hours'};
            DefaultTableModel model = new DefaultTableModel(columnNames, 0);
            while (rs.next()) {
                Object[] rowData = {
                    rs.getInt('course_id'),
                    rs.getString('course_name'),
                    rs.getString('course_type'),
                    rs.getFloat('credit'),
                    rs.getInt('total_hours'),
                    rs.getInt('theory_hours'),
                    rs.getInt('experiment_hours')
                };
                model.addRow(rowData);
            }

            // 显示表格
            JTable table = new JTable(model);
            JScrollPane scrollPane = new JScrollPane(table);
            JFrame frame = new JFrame('Course Query');
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.add(scrollPane);
            frame.pack();
            frame.setVisible(true);

            // 关闭连接
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

3. 数据库选择

可以选择以下数据库系统之一:

  • Apache Derby
  • MySQL
  • Access

请根据实际情况选择合适的数据库系统,并修改代码中的数据库连接信息。

4. 总结

本文介绍了如何使用Java语言编写程序,实现对stuDB数据库中'course'信息表中课程信息的查询和显示。提供了字符界面和图形界面两种实现方式,并附带代码示例和数据库选择建议。可以根据实际需求对代码进行修改和扩展,例如添加查询条件、排序功能等。

Java实现stuDB数据库中course信息表的查询与显示

原文地址: https://www.cveoy.top/t/topic/jpWz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录