Java实现简单图书管理系统完整攻略
背景介绍
随着数字化时代的来临,人们倾向于利用计算机来管理综合信息。图书管理系统是一种管理图书库存、记录图书信息、查询图书信息、借阅和交还图书等方面的软件系统,它可以帮助图书馆实现书籍信息的自动化处理和管理。Java语言是一种优秀的编程语言,其特点包括跨平台性、面向对象、易学易用等,适合开发这种类型的系统。
系统架构
简单图书管理系统是由前台页面和后台控制器两部分组成。前台页面包括登录页面,查询页面等,后台控制器由Java代码实现,包括实体类、操作类等。
系统功能
简单图书管理系统的主要功能包括:
- 图书信息维护:可以添加、修改、查询和删除图书信息。
- 读者信息维护:可以添加、修改、查询和删除读者信息。
- 图书借阅:读者可以借阅图书。
- 图书归还:读者可以将已借阅的图书归还。
代码实现
下面是简单图书管理系统的代码实现过程。
实体类
首先定义图书类和读者类的实体属性,代码如下:
public class Book {
private String id;
private String name;
private String author;
private double price;
// getter 和 setter 方法
}
public class Reader {
private String id;
private String name;
private String gender;
private String tel;
// getter 和 setter 方法
}
操作类
接着,编写操作类,包括添加、修改、查询和删除图书信息,添加、修改、查询和删除读者信息等,代码如下:
public class BookDao {
// 添加图书信息
public void addBook(Book book) {...}
// 修改图书信息
public void updateBook(Book book) {...}
// 删除图书信息
public void deleteBook(String id) {...}
// 查询图书信息
public Book findBook(String id) {...}
}
public class ReaderDao {
// 添加读者信息
public void addReader(Reader reader) {...}
// 修改读者信息
public void updateReader(Reader reader) {...}
// 删除读者信息
public void deleteReader(String id) {...}
// 查询读者信息
public Reader findReader(String id) {...}
}
数据库操作
使用MySQL数据库进行数据的持久化处理,创建“book”和“reader”两张表,字段包括id、name、author、price、gender和tel等,代码如下:
CREATE TABLE book (
id varchar(20) NOT NULL,
name varchar(50) NOT NULL,
author varchar(50) NOT NULL,
price double NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE reader (
id varchar(20) NOT NULL,
name varchar(50) NOT NULL,
gender varchar(10) NOT NULL,
tel varchar(20) NOT NULL,
PRIMARY KEY (id)
);
前台页面
使用HTML、CSS和JavaScript等技术编写前台页面,包括登录页面和查询页面等,代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简单图书管理系统</title>
</head>
<body>
<h1>欢迎使用简单图书管理系统</h1>
<form>
<h3>登录页面</h3>
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
<hr>
<form>
<h3>查询页面</h3>
<label>图书编号:</label>
<input type="text" name="bookId"><br>
<label>读者编号:</label>
<input type="text" name="readerId"><br>
<input type="submit" value="查询">
</form>
</body>
</html>
示例说明
示例一:添加图书信息
在后台代码中,定义添加图书信息的方法,代码如下:
public void addBook(Book book) {
try {
// 建立数据库连接
Connection conn = DBUtil.getConnection();
// 定义SQL语句
String sql = "INSERT INTO book VALUES (?, ?, ?, ?)";
// 准备SQL语句
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, book.getId());
pstmt.setString(2, book.getName());
pstmt.setString(3, book.getAuthor());
pstmt.setDouble(4, book.getPrice());
// 执行SQL语句
pstmt.executeUpdate();
// 关闭数据库连接
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
在前台页面的图书信息维护页面,定义添加图书信息的表单,代码如下:
<form>
<label>图书编号:</label>
<input type="text" name="bookId"><br>
<label>书名:</label>
<input type="text" name="bookName"><br>
<label>作者:</label>
<input type="text" name="bookAuthor"><br>
<label>价格:</label>
<input type="text" name="bookPrice"><br>
<input type="submit" value="提交">
</form>
在表单提交时,调用后台代码中的添加图书信息方法,将数据持久化到数据库中。
示例二:查询读者信息
在后台代码中,定义查询读者信息的方法,代码如下:
public Book findReader(String id) {
Reader reader = null;
try {
// 建立数据库连接
Connection conn = DBUtil.getConnection();
// 定义SQL语句
String sql = "SELECT * FROM reader WHERE id=?";
// 准备SQL语句
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, id);
// 执行SQL语句
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
reader = new Reader();
reader.setId(rs.getString(1));
reader.setName(rs.getString(2));
reader.setGender(rs.getString(3));
reader.setTel(rs.getString(4));
}
// 关闭数据库连接
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return reader;
}
在前台页面的查询页面,定义查询读者信息的表单,代码如下:
<form>
<label>读者编号:</label>
<input type="text" name="readerId"><br>
<input type="submit" value="查询">
</form>
在表单提交时,调用后台代码中的查询读者信息方法,并在页面上显示查询结果。如果查询结果为空,则提示“无此读者信息”。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现简单图书管理系统 - Python技术站