Java图书管理系统代码及实现305


图书管理系统是图书馆或其他机构用来管理和组织藏书的主要工具。通过使用计算机软件,这些系统可以帮助图书馆员和用户跟踪书籍、借阅和续借。本文将提供Java图书管理系统代码,展示如何使用Java编程语言创建和实现这样的系统。

图书管理系统通常包含以下几个主要模块:
图书目录:存储所有书籍信息的数据库,包括书名、作者、ISBN、可用性等。
借阅管理:管理书籍借阅和续借的模块,包括借阅日期、到期日期和罚款计算。
用户管理:管理注册用户和他们的帐户信息,包括姓名、电子邮件和借阅历史。
报告生成:生成有关图书借阅、逾期费用和馆藏利用的报告。

以下是一个基本的Java图书管理系统代码示例:```java
import .*;
import .*;
public class LibraryManagementSystem {
private static Connection connection;
private static Statement statement;
public static void main(String[] args) {
// 建立数据库连接
connectToDB();
// 创建图书表
createBookTable();
// 创建用户表
createUserTable();
// 创建借阅表
createLoanTable();
// 添加图书
addBook("Java Programming", "John Doe", "1234567890");
addBook("Python Programming", "Jane Doe", "9876543210");
// 添加用户
addUser("John Smith", "@");
addUser("Jane Doe", "@");
// 借阅图书
loanBook("Java Programming", "John Smith");
loanBook("Python Programming", "Jane Doe");
// 续借图书
renewLoan("Java Programming", "John Smith");
// 归还图书
returnBook("Java Programming", "John Smith");
returnBook("Python Programming", "Jane Doe");
// 断开数据库连接
closeConnection();
}
private static void connectToDB() {
try {
// 加载数据库驱动
("");
// 建立数据库连接
connection = ("jdbc:mysql://localhost:3306/library_management", "root", "password");
// 创建声明对象
statement = ();
} catch (ClassNotFoundException | SQLException e) {
();
}
}
private static void closeConnection() {
try {
// 关闭声明对象
();
// 关闭数据库连接
();
} catch (SQLException e) {
();
}
}
private static void createBookTable() {
try {
// 创建图书表
("CREATE TABLE IF NOT EXISTS books (book_id INT AUTO_INCREMENT, title VARCHAR(255), author VARCHAR(255), isbn VARCHAR(255), PRIMARY KEY (book_id))");
} catch (SQLException e) {
();
}
}
private static void createUserTable() {
try {
// 创建用户表
("CREATE TABLE IF NOT EXISTS users (user_id INT AUTO_INCREMENT, name VARCHAR(255), email VARCHAR(255), PRIMARY KEY (user_id))");
} catch (SQLException e) {
();
}
}
private static void createLoanTable() {
try {
// 创建借阅表
("CREATE TABLE IF NOT EXISTS loans (loan_id INT AUTO_INCREMENT, user_id INT, book_id INT, loan_date DATE, due_date DATE, PRIMARY KEY (loan_id), FOREIGN KEY (user_id) REFERENCES users (user_id), FOREIGN KEY (book_id) REFERENCES books (book_id))");
} catch (SQLException e) {
();
}
}
private static void addBook(String title, String author, String isbn) {
try {
// 准备插入语句
PreparedStatement preparedStatement = ("INSERT INTO books (title, author, isbn) VALUES (?, ?, ?)");
// 设置参数
(1, title);
(2, author);
(3, isbn);
// 执行插入操作
();
} catch (SQLException e) {
();
}
}
private static void addUser(String name, String email) {
try {
// 准备插入语句
PreparedStatement preparedStatement = ("INSERT INTO users (name, email) VALUES (?, ?)");
// 设置参数
(1, name);
(2, email);
// 执行插入操作
();
} catch (SQLException e) {
();
}
}
private static void loanBook(String title, String name) {
try {
// 获取图书 ID
int bookId = getBookId(title);
// 获取用户 ID
int userId = getUserId(name);
// 获取当前日期
Date loanDate = new Date();
// 计算到期日期(将当前日期加上 14 天)
Calendar calendar = ();
(loanDate);
(, 14);
Date dueDate = ();
// 准备插入语句
PreparedStatement preparedStatement = ("INSERT INTO loans (user_id, book_id, loan_date, due_date) VALUES (?, ?, ?, ?)");
// 设置参数
(1, userId);
(2, bookId);
(3, loanDate);
(4, dueDate);
// 执行插入操作
();
} catch (SQLException e) {
();
}
}
private static void renewLoan(String title, String name) {
try {
// 获取图书 ID
int bookId = getBookId(title);
// 获取用户 ID
int userId = getUserId(name);
// 获取当前日期
Date renewalDate = new Date();
// 计算新的到期日期(将当前日期加上 14 天)
Calendar calendar = ();
(renewalDate);
(, 14);
Date newDueDate = ();
// 准备更新语句
PreparedStatement preparedStatement = ("UPDATE loans SET due_date = ? WHERE user_id = ? AND book_id = ?");
// 设置参数
(1, newDueDate);
(2, userId);
(3, bookId);
// 执行更新操作
();
} catch (SQLException e) {
();
}
}
private static void returnBook(String title, String name) {
try {
// 获取图书 ID
int bookId = getBookId(title);
// 获取用户 ID
int userId = getUserId(name);
// 准备删除语句
PreparedStatement preparedStatement = ("DELETE FROM loans WHERE user_id = ? AND book_id = ?");
// 设置参数
(1, userId);
(2, bookId);
// 执行删除操作
();
} catch (SQLException e) {
();
}
}
private static int getBookId(String title) {
try {
// 准备查询语句
PreparedStatement preparedStatement = ("SELECT book_id FROM books WHERE title = ?");
// 设置参数
(1, title);
// 执行查询操作
ResultSet resultSet = ();
// 提取图书 ID
int bookId = 0;
if (()) {
bookId = ("book_id");
}
return bookId;
} catch (SQLException e) {
();
return 0;
}
}
private static int getUserId(String name) {

2024-10-15


上一篇:经典重现:Java飞机大战,重温童年时光

下一篇:Java中字符串替换的全面指南