Skip to content

About

基于 Java Swing 的图书借阅管理系统

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

图书借阅管理系统

一个基于 Java Swing 的图书借阅管理系统,支持 H2 演示数据库和 MySQL 生产环境。

项目结构

project/
├── bin/                    # 编译输出目录(自动生成)
├── lib/                    # 项目依赖库
├── src/                    # Java 源代码
├── sql/                    # 数据库初始化脚本
│   ├── h2_schema.sql       # H2 数据库初始化脚本
│   └── mysql_schema.sql    # MySQL 数据库初始化脚本
├── data/                   # 数据文件存储
│   └── library_db.mv.db    # H2 内嵌数据库(自动生成)
├── doc/                    # 文档目录
│   └── README.md           # 本文件
├── 编译运行.bat            # 一键编译并运行(H2 演示版)
└── 直接运行.bat            # 直接运行已编译的程序(H2 演示版)

快速开始

方式一:H2 演示版(推荐新手使用)

H2 是内嵌数据库,无需安装,包含演示数据。

  1. 首次使用 - 双击运行:

    编译运行.bat
    

    系统会自动编译并启动应用,首次运行时自动初始化演示数据。

  2. 后续运行 - 双击运行:

    直接运行.bat
    

    启动已编译的程序。

方式二:MySQL 生产版(用于实际部署)

需要先安装并配置 MySQL,然后才能使用。

第一步:安装 MySQL

下载并安装 MySQL 8.0 或更高版本,记住你的:

  • 用户名(默认:root)
  • 密码

第二步:修改数据库配置

打开 src/DBUtil.java,修改以下配置:

// 第 19 行:改为 false 使用 MySQL
public static final boolean USE_H2 = false;

// 第 27-30 行:修改为你的 MySQL 账户信息
private static final String MYSQL_USER = "root";           // 你的用户名
private static final String MYSQL_PASSWORD = "123456";     // 你的密码

第三步:初始化数据库

在 MySQL 命令行中执行:

# 1. 登录 MySQL
mysql -u root -p

# 2. 创建数据库(输入你的密码)
CREATE DATABASE library_db CHARACTER SET utf8mb4;
USE library_db;

# 3. 执行初始化脚本
SOURCE sql/mysql_schema.sql;

或者用一条命令完成:

mysql -u root -p123456 library_db < sql/mysql_schema.sql

第四步:编译并运行

javac -encoding UTF-8 -cp "lib/*" -d bin src\*.java
java -cp "lib/*;bin" LibraryApp

数据库对比

特性 H2 演示版 MySQL 生产版
是否需要安装 ❌ 不需要 ✅ 需要安装
配置复杂度 🟢 零配置 🟡 需要配置
演示数据 ✅ 包含 ✅ 需手动导入
适用场景 学习演示 实际部署
性能 中等 生产级
数据持久化 本地文件 MySQL 服务器

功能说明

支持的操作

  • 📚 图书管理 - 添加、编辑、删除、查询图书
  • 👥 读者管理 - 管理读者信息和联系方式
  • 📋 借阅管理 - 记录借阅历史、归还状态
  • 🔍 高级查询 - 按分类、作者、状态等条件查询

预置演示数据

图书分类(5 个)

  • 计算机、文学、历史、经济、自然科学

图书(10 本)

  • Java核心技术、深入理解Java虚拟机、Spring实战等

读者(5 个)

  • 张三、李四、王五、赵六、钱七

借阅记录(6 条)

  • 包括已归还、借阅中、已逾期等各类状态

故障排除

问题 1:启动后看不到数据

原因:数据库连接失败
解决:

  • H2 版本:确保 DBUtil.java 第 19 行为 USE_H2 = true
  • MySQL 版本:
    • 检查 MySQL 服务是否启动
    • 验证用户名和密码
    • 确保数据库 library_db 已创建
    • 运行 sql/mysql_schema.sql 初始化表

问题 2:无法添加新数据

原因:数据库连接问题或表不存在
解决:

  • 重新初始化数据库
  • 检查表是否都成功创建
  • 查看终端错误信息

问题 3:乱码或中文显示错误

原因:字符编码不匹配
解决:

  • 确保 MySQL 使用 utf8mb4 编码
  • 重新编译时使用:javac -encoding UTF-8 ...

开发信息

主要类说明

类名 功能
LibraryApp 程序入口
MainFrame 主窗口框架
DBUtil 数据库连接管理
BookDAO/ReaderDAO/BorrowDAO 数据访问对象
BookPanel/ReaderPanel/BorrowPanel 界面面板

使用的库

  • H2 Database - 内嵌关系型数据库
  • MySQL Connector/J - MySQL JDBC 驱动
  • Swing - Java GUI 框架(JDK 内置)

许可证

本项目仅供学习使用。

联系方式

如有问题,请查看源代码中的注释或检查终端输出的错误信息。

About

基于 Java Swing 的图书借阅管理系统

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages