跳到主要内容

图书管理系统完善

阅读需 3 分钟

初次体验稍大型的Java项目,包括图形化界面与JDBC,算是我的Java项目启蒙了

项目描述

该项目是基于 Java Swing ,使用 MySQL 数据库的图书管理系统

目标

为系统添加借书还书功能,具体目标分解:

  • 添加一级菜单”借书管理“,二级菜单”借书“、“还书
  • 增加”借书“界面,界面功能如下:
    • 填写图书编号
    • 填写借书人姓名
    • 借书日期
    • 应归还日期
    • 图书在馆数量-1
    • 更新图书在借状态
  • 增加“还书”界面,界面功能如下:
    • 显示在借图书列表
    • 图书在馆数量+1
    • 更新图书在借状态
    • 记录实际归还日期

代码实现

运行展示

功能界面1

功能界面2

实现方法

通过按钮触发事件来构建 SQL 语句,并在数据库中执行 SQL 语句

具体实现

创建新类的功能

  • BookNumberBean, BookUserBean 类是图书的实体类,存放数据库表中包含的图书属性
  • BookNumberDao, BookUserDao 类是 Java 与 MySQL 数据库连接的方法,用于读取数据库表的内容
  • BookLendPanel, BookReturnPanel 类是借书还书界面的类

BookLendPanel 中方法的实现

  • BookLendPanel() 构造方法用于运行界面、添加图标、计算还书日期、为按钮注册监听器
  • createBookAddBox() 用于构建借书界面
  • actionPerformed(ActionEvent e) 用于处理按钮事件
  • insertUpdate(DocumentEvent e)、removeUpdate(DocumentEvent e)、changedUpdate(DocumentEvent e) 用于实现文本框的实时监听,以实现当文本框中内容发生变化时,实时更改信息栏内容

BookReturnPanel 中方法的实现

  • BookReturnPanel() 构造方法用于运行界面、添加图标、为按钮注册监听器
  • createReturnBookVBox() 用于构建还书界面
  • valueChanged(ListSelectionEvent e) 用于获取表格中被选中的数据
  • actionPerformed(ActionEvent e) 用于处理按钮事件
  • createTable(String sql) 用于填充一个表格控件
  • refreshTable() 用于刷新表格数据

收获的知识点

  1. Java 有关图形界面类的方法的使用
  2. Java 实体类的使用
  3. Java 连接 MySQL 数据库的过程
  4. MySQL 数据库建表与执行文件的方法

关于 Java 连接数据库

使用工具类将数据库中的数据映射到实体类中,这样将数据库中需要的数据导入到 Java 中,方便后续的操作处理

项目链接

Java Swing 图书管理系统 - 1024Code

相关材料

Java实战之图书管理系统(swing版)(1)——项目简述

Java实战之图书管理系统(swing版)(2)——功能介绍

Java实战之图书管理系统(swing版)(3)——登录界面及功能实现

Java实战之图书管理系统(swing版)(4)——主界面及功能实现

Java实战之图书管理系统(swing版)(5)——图书类别添加界面及功能实现

Java实战之图书管理系统(swing版)(6)——图书类别维护界面及功能实现

Java实战之图书管理系统(swing版)(7)——图书添加界面及功能实现

Java实战之图书管理系统(swing版)(8)——图书维护界面及功能实现

Java实战之图书管理系统(swing版)(9)——其他界面及功能实现

Java实战之图书管理系统(swing版)(10)——数据库表