一、系统简介
该项目是基于Java的SSM框架实现的图书管理系统
二、技术实现
1.后台框架:Spring、SpringMVC、MyBatis、Ajax
2.UI界面:BootStrap
3.数据库:MySQL 5.7
4.加密:md5+随机盐
运行环境:
JDK 8
IntelliJ IDEA
Tomcat 9.0
MySQL 5.7
三、系统功能
系统共分为三种用户:
1.普通用户
书籍列表显示、书籍借阅、书籍归还,
2.管理员
用户管理(删除用户,修改用户名),图书管理(编辑,删除,添加)
四、表设计
一共有三张表,book用来存放书籍信息,
bookorder用来保存借书记录和借还状态,user用来保存管理员和用户信息
book表结构(status用来表示书的借还状态,0表示已还,1表示未还)
bookorder表结构
User表结构(grade用于区分角色身份,0是管理员,1是普通用户)
五、运行效果
系统登陆界面:
注册界面(分为管理员注册和普通用户注册)
管理员界面
图书管理界面
普通用户管理界面
普通用户界面
借还书籍操作界面
需求分析:
1.租书
首先输入借书人名称,然后输入要借阅的图书编号,显示该图书信息(已经借出的图书不显示),
2.还书
首先输入借书人名称,显示该借书人的借阅图书信息,已还图书不显示。在显示借阅图书信息后,可以选择还书。
3.租还查询
选择该选项后,显示某个用户所有借书信息,
图书类型管理图书类型信息包括:编号、名称
4.添加图书
接收用户输入的图书信息,写入数据库。
5.修改图书
用户输入要修改图书编号,显示图书信息,然后修改图书,并保存到数据库中。
6.删除图书
用户输入要删除图书编号,删除图书。
7.查询全部图书
选择该选项后,首先显示所有图书信息
8.修改用户信息
管理员可以修改用户的名称
9.用户登录
10.用户注册
Entity****实体类
public class Book {
??? private int bid;
??? private String bookname;
??? private String author;
??? private String detail;
??? private int status;//是否借出,1表示可以借,0表示不可借
??? private int price;
??? private String category;//种类
}
public class BookOrder {
??? /**
???? * 借书订单表
???? */
??? private int orderid;
??? private int userid;
??? private int bid;
??? private int orderstatus;//借还状态 0表示已归还,1表示未归还
}
public class User {
??? private int id;
??? private String username;
??? private String password;
??? private int grade;//角色
}
Controller****层
@Controller
@RequestMapping("/admin")
public class AdminController {
??? @Autowired
??? private BookService bookService;
??? @Autowired
??? private UserService userService;
??? //跳转到图书管理页面
??? @RequestMapping("/bookManage.action")
??? public String skipBookManage(Model model){
??????? List<Book> list = bookService.selectAllBook();
??????? model.addAttribute("list",list);
??????? return "bookManage";
??? }
??? //跳转到读者管理页面
??? @RequestMapping("/commonUserManage.action")
??? public String skipCommonUserManage(){
??????? return "commonUserManage";
??? }
??? /**
???? * 读者操作
???? *? 可以让读者跳转到图书馆,User.jsp
???? */
??? //读者跳转到图书馆
??? @RequestMapping("/user.action")
??? public String skipUser(Model model,@Param("id") String username) throws UnsupportedEncodingException {
??????? //中文编码:
??????? /**
???????? * 在前端使用URL传递时,使用encodeURI(encodeURI(username))
???????? * 后端解析使用java.net.URLDecoder.decode(username,