小工具知识网

当前位置: 首页 > 行业知识 > java毕业设计项目 Java Web图书管理系统毕业设计

行业知识

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

2026-10-26 19:02:34 来源:互联网转载

项目类型: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天。

项目需求分析如下:

图书管理系统

  • 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配置。

            1管理员功能介绍

            1.1登录

            1.2借阅统计

            在线统计所有藏书的借阅情况,并且根据借阅次数进行排名。

            1.3管理员信息修改

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

            1.4图书分类管理

            对图书分类的情况进行增删改查,每一本图书都有对应的图书分类。

            修改和添加图书类型。并能够根据这些分类的名称进行查询。

            1.5图书信息管理

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

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

            1.5图书借阅管理

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

            在对借阅记录上,使用了分页查询的功能,当前每一页只显示4条记录,并可以在Eclipse里面修改每页显示的条数。

            可以根据多种方式进行查询图书借阅的情况。

            并可以在后台为用户进行续借、还书。

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

            1.6学生信息管理

            能够实现所有的学生增删改查的功能。

            1.6公告管理

            发布公告。并对公告进行增删改查。​

            2用户功能介绍

            2.1注册

            2.2个人信息管理

            2.3图书借阅

            2.4图书归还、续借

            2.5个人借阅统计

            3功能实现的代码介绍

            以添加书籍功能为例

            3.1BookServlet.java类

            ​

            /** * 去新增图书页面 * @param request * @param response */private void toAddBook(HttpServletRequest request,HttpServletResponse response) {try {List 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 selectBookList(Map map);int queryBookCount();List 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();@Overridepublic List selectBookList(Map map) {return bd.selectBookList(map);}@Overridepublic int queryBookCount() {return bd.queryBookCount();}@Overridepublic List getBookListPage(int pageNum, int pageSize) {return bd.getBookListPage(pageNum,pageSize);}@Overridepublic void deleteBook(String id) {bd.deleteBook(id);}@Overridepublic void saveBook(Book book) {bd.saveBook(book);}@Overridepublic Book selectBookById(String id) {return bd.selectBookById(id);}@Overridepublic void updateBook(Book book) {bd.updateBook(book);}@Overridepublic void saveRecord(Record record) {bd.saveRecord(record);}@Overridepublic void setBookType(Book book) {bd.setBookType(book);}@Overridepublic 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数据库表的建立

            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 '是否超时(1否 2 是)',  `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 '是否能够借阅书籍 1是 2否',  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

上一篇:销售顾问以前一直从事房地产销售工作,做了几年经理,怎么转型到房地产开发公司上班呢?

下一篇:揭秘DWS,核心要点一网打尽!