java毕业设计项目 Java Web图书管理系统毕业设计

作者 : admin 本文共8436个字,预计阅读时间需要22分钟 发布时间: 2023-11-9 共1人阅读

项目类型:JAVA WEB项目
用户类型:管理员+学生
主要技术:Jsp+Servlet+MySQL+Tomcat
前端html+css样式:使用了LayUI
开发工具:Eclipse (Idea导入需要配置信息)
对应环境介绍:JDK1.8+MySQL 5.7+Tomcat(MySQL8.0需要更换mysql-connector8.0.jar)
数据库表:6
功能介绍:图书管理系统,包括了注册登录,学生在线借书、还书、续借,查看借阅统计,管理员管理书籍、添加藏书、管理借阅记录等。其中,每一个学生每一借阅都只能借阅30天,并且可以续借,续借以后,自动延长30天。

项目需求分析如下:
java毕业设计项目 Java Web图书管理系统毕业设计插图

图书管理系统

  • 0项目结构设计
  • 1管理员功能介绍
  • * 1.1登录
    
    • 1.2借阅统计
    • 1.3管理员信息修改
    • 1.4图书分类管理
    • 1.5图书信息管理
    • 1.5图书借阅管理
    • 1.6学生信息管理
    • 1.6公告管理
  • 2用户功能介绍
  • * 2.1注册
    
    • 2.2个人信息管理
    • 2.3图书借阅
    • 2.4图书归还、续借
    • 2.5个人借阅统计
  • 3功能实现的代码介绍
  • * 3.1BookServlet.java类
    
    • 3.2BookService.java类
    • 3.3NewsDao.java类
    • 3.4BookDao.java类
  • 4数据库表的建立
  • * 4.1管理员表
    
    • 4.2公告表
    • 4.3书籍表
    • 4.4借阅记录表
    • 4.5学生表
    • 4.6书籍类型表

0项目结构设计

1.dao:对数据库的访问,实现了增删改查,SQL语句的定义。
2.entity:定义了实体,并设置对应实体的属性。
3.filter:过滤器,设置字符编码都为utf8,防止乱码出现。
4.service:业务逻辑处理的接口。
5.service.impl:接口的实现类。
5.servlet:处理页面请求。
6.utils:工具类。
7.c3p0-config.xml:JDBC配置。
java毕业设计项目 Java Web图书管理系统毕业设计插图(1)

1管理员功能介绍

1.1登录

java毕业设计项目 Java Web图书管理系统毕业设计插图(2)

1.2借阅统计

在线统计所有藏书的借阅情况,并且根据借阅次数进行排名。
java毕业设计项目 Java Web图书管理系统毕业设计插图(3)

1.3管理员信息修改

管理员登录以后可以修改自己的登录密码。

java毕业设计项目 Java Web图书管理系统毕业设计插图(4)

1.4图书分类管理

对图书分类的情况进行增删改查,每一本图书都有对应的图书分类。
java毕业设计项目 Java Web图书管理系统毕业设计插图(5)
修改和添加图书类型。并能够根据这些分类的名称进行查询。
java毕业设计项目 Java Web图书管理系统毕业设计插图(6)

1.5图书信息管理

对图书馆内的藏书进行增删改查,并可以根据书籍分类进行搜索。

java毕业设计项目 Java Web图书管理系统毕业设计插图(7)
可以根据图书类型、图书编号、图书名称、作者进行查询。
java毕业设计项目 Java Web图书管理系统毕业设计插图(8)

修改和添加图书信息,对书本信息包括编号、书名、库存、类型(从已有书本分类进行选择)等。

java毕业设计项目 Java Web图书管理系统毕业设计插图(9)

1.5图书借阅管理

此外,分成了两类借阅情况,分别是对于未归还和已经归还的分类。

java毕业设计项目 Java Web图书管理系统毕业设计插图(10)

在对借阅记录上,使用了分页查询的功能,当前每一页只显示4条记录,并可以在Eclipse里面修改每页显示的条数。
可以根据多种方式进行查询图书借阅的情况。
并可以在后台为用户进行续借、还书。

java毕业设计项目 Java Web图书管理系统毕业设计插图(11)

如下是所有未还书的记录。

java毕业设计项目 Java Web图书管理系统毕业设计插图(12)

1.6学生信息管理

能够实现所有的学生增删改查的功能。
java毕业设计项目 Java Web图书管理系统毕业设计插图(13)

1.6公告管理

发布公告。并对公告进行增删改查。​
java毕业设计项目 Java Web图书管理系统毕业设计插图(14)

2用户功能介绍

2.1注册

java毕业设计项目 Java Web图书管理系统毕业设计插图(15)

2.2个人信息管理

java毕业设计项目 Java Web图书管理系统毕业设计插图(16)

2.3图书借阅

java毕业设计项目 Java Web图书管理系统毕业设计插图(17)

2.4图书归还、续借

java毕业设计项目 Java Web图书管理系统毕业设计插图(18)

2.5个人借阅统计

java毕业设计项目 Java Web图书管理系统毕业设计插图(19)

3功能实现的代码介绍

以添加书籍功能为例

3.1BookServlet.java类

	/**
	 * 去新增图书页面
	 * @param request
	 * @param response
	 */
	private void toAddBook(HttpServletRequest request,
			HttpServletResponse response) {
		try {
			List<Types> typesList = new TypesServiceImpl().selectTypes();
			request.getSession().setAttribute("typesList", typesList);
			request.getRequestDispatcher("/WEB-INF/views/book/addBook.jsp").forward(request,response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

3.2BookService.java类

定义了所有方法的接口

	public interface BookService {
	List<Book> selectBookList(Map<String, Object> map);
	int queryBookCount();
	List<Book> getBookListPage(int pageNum, int pageSize);
	void deleteBook(String id);
	void saveBook(Book book);
	Book selectBookById(String id);
	void updateBook(Book book);
	void saveRecord(Record record);
	void setBookType(Book book);
	Book selectBookByNo(String bookNo);

}

3.3NewsDao.java类

所有方法的实现类,继承BookService中的接口,实现方法。

public class BookServiceImpl implements BookService{

	private BookDao bd = new BookDao();
	@Override
	public List<Book> selectBookList(Map<String, Object> map) {
		return bd.selectBookList(map);
	}
	@Override
	public int queryBookCount() {
		return bd.queryBookCount();
	}
	@Override
	public List<Book> getBookListPage(int pageNum, int pageSize) {
		return bd.getBookListPage(pageNum,pageSize);
	}
	@Override
	public void deleteBook(String id) {
		bd.deleteBook(id);
	}
	@Override
	public void saveBook(Book book) {
		bd.saveBook(book);
	}
	@Override
	public Book selectBookById(String id) {
		return bd.selectBookById(id);
	}
	@Override
	public void updateBook(Book book) {
		bd.updateBook(book);
	}
	@Override
	public void saveRecord(Record record) {
		bd.saveRecord(record);
	}
	@Override
	public void setBookType(Book book) {
		bd.setBookType(book);
	}
	@Override
	public Book selectBookByNo(String bookNo) {
		return bd.selectBookByNo(bookNo);
	}

3.4BookDao.java类

数据访问层的方法,增加书籍数据。

	public void saveBook(Book book) {
		try {
            runner.update("insert into book (bookNo,bookName,bookZz,bookCbs,type,price,content,time,bookNum,imgUrl) values (?,?,?,?,?,?,?,?,?,?)",
            		book.getBookNo(),book.getBookName(),book.getBookZz(),book.getBookCbs()
            		,book.getType(),book.getPrice(),book.getContent(),book.getTime(),book.getBookNum(),book.getImgUrl());
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
	}
}

4数据库表的建立

java毕业设计项目 Java Web图书管理系统毕业设计插图(20)

4.1管理员表

-- ----------------------------
-- Table structure for admin
-- ----------------------------
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `nickName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `pwd` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

4.2公告表

-- ----------------------------
-- Table structure for board
-- ----------------------------
DROP TABLE IF EXISTS `board`;
CREATE TABLE `board`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `fbsj` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;


4.3书籍表

-- ----------------------------
-- Table structure for book
-- ----------------------------
DROP TABLE IF EXISTS `book`;
CREATE TABLE `book`  (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bookNo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '图书编号',
`bookName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '书名',
`bookZz` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '作者',
`bookCbs` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '出版社',
`type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类型',
`price` double(10, 2) NULL DEFAULT NULL COMMENT '价格',
`content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '简介',
`state` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '状态 1空闲 2被借出',
`time` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '录入时间',
`bookNum` int(11) NULL DEFAULT NULL COMMENT '数量',
`imgUrl` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

4.4借阅记录表

-- ----------------------------
-- Table structure for record
-- ----------------------------
DROP TABLE IF EXISTS `record`;
CREATE TABLE `record`  (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bookId` int(11) NULL DEFAULT NULL,
`bookName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`studentId` int(11) NULL DEFAULT NULL,
`studentName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`studentPhone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`bookPrice` double(10, 2) NULL DEFAULT NULL,
`bookType` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`bookNo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`jcTime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '借书时间',
`normalTime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '正常归还时间(借书后30天内)',
`actualTime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '实际归还时间',
`timeOut` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否超时(12 是)',
`money` double(10, 2) NULL DEFAULT NULL COMMENT '需支付金额',
`state` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '状态 1未还书 2已还书',
`days` int(10) NULL DEFAULT NULL COMMENT '借书天数',
`isxj` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否已经续借 1没有续借 2已经续借',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

4.5学生表

-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`  (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`sex` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`classes` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '年级',
`time` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '入学年月',
`xy` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学院',
`phone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`pwd` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`stno` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学号',
`state` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否能够借阅书籍 12否',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

4.6书籍类型表

-- ----------------------------
-- Table structure for types
-- ----------------------------
DROP TABLE IF EXISTS `types`;
CREATE TABLE `types`  (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`cjr` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`cjsj` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;


项目获取:

https://gitee.com/sinonfin/L-javaWebSha/tree/master

本站无任何商业行为
个人在线分享-虚灵IT资料分享 » java毕业设计项目 Java Web图书管理系统毕业设计
E-->