项目编号: BS-XX-029

本项目基于SSM框架开发实现,前端采用Layui实现开发,系统交互性好,功能完整,页面简洁大方,开发工具为IDEA或ECLIPSE,数据库采用MYSQL。

系统分两 种角色:

管理员角色:可以管理读者,图书,借阅记录等

读者角色:可以查阅并借阅图 书,归还图书等 操作

具体功能演示如下:

管理员用户登陆:

管理员操作主界面:

图书管理

图书查询

添加图书

最新图书

图书借阅记录

读者管理

图书下架列表

读者添加

逾期查询

读者角色进入系统:

查询图书

最新图书

借阅管理

以上是系统的部分功能展示,系统功能完整,运行无误,适合做毕业设计使用。

package cn.test.bookms.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.test.bookms.entity.MsAdmin;
import cn.test.bookms.entity.PageBean;
import cn.test.bookms.mapper.MsAdminMapper;
import cn.test.bookms.service.MsAdminService;
import cn.test.bookms.util.Message;

@Service("msAdminService")
public class MsAdminServiceImpl implements MsAdminService{
    Logger logger = Logger.getLogger(MsAdminServiceImpl.class);

@Autowired
    private MsAdminMapper msAdminMapper;

public MsAdmin selectByPrimaryKey(Integer id) {
        return msAdminMapper.selectByPrimaryKey(id);
    }

public MsAdmin selectAdmin(Map<String,String> map) {
        return msAdminMapper.selectAdmin(map);
    }

public int updatePwd(String newPwd, String adminNumber) {
        logger.info("***MsAdminServiceImpl类的updatePwd方法***");
        return msAdminMapper.updatePwd(newPwd, adminNumber);
    }

public PageBean<MsAdmin> selectReaderByPage(String adminNumber, String adminName, Integer identity, int currentPage) {
        HashMap<String,Object> map = new HashMap<String,Object>();
        PageBean<MsAdmin> pageBean = new PageBean<MsAdmin>();
        
        //设置当前页数
        pageBean.setCurrPage(currentPage);
        
        //设置每页显示的数据
        int pageSize = Message.PAGE_SIZE;
        pageBean.setPageSize(pageSize);
        
        //设置总页数
        int totalCount = msAdminMapper.selectCount();
        pageBean.setTotalCount(totalCount);
        
        //设置总页数
        double tc = totalCount;
        Double num = Math.ceil(tc/pageSize);
        pageBean.setTotalPage(num.intValue());
        
        map.put("start", (currentPage-1)*pageSize);
        map.put("size", pageBean.getPageSize());
        map.put("adminNumber", adminNumber);
        map.put("adminName", adminName);
        map.put("identity", identity);
        
        //封装每页显示的数据
        List<MsAdmin> adminList = msAdminMapper.selectByPage(map);
        pageBean.setLists(adminList);
        
        return pageBean;
    }

public int insertAdmin(MsAdmin admin) {
        logger.info("***MsAdminServiceImpl类的insertAdmin方法***");
        return msAdminMapper.insert(admin);
    }

@Override
    public int deleteAdmin(int adminId) {
        logger.info("***MsAdminServiceImpl类的deleteAdmin方法***");
        return msAdminMapper.deleteByPrimaryKey(adminId);
    }

}

package cn.test.bookms.service.impl;

import java.util.HashMap;
import java.util.List;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.test.bookms.entity.MsBook;
import cn.test.bookms.entity.PageBean;
import cn.test.bookms.mapper.MsBookMapper;
import cn.test.bookms.service.MsBookService;
import cn.test.bookms.util.Message;

@Service("msBookService")
public class MsBookServiceImpl implements MsBookService {
    Logger logger = Logger.getLogger(MsBookServiceImpl.class);

@Autowired
    private MsBookMapper msBookMapper;
    
    
    public void insertBook(MsBook book) {
        msBookMapper.insert(book);
    }

/**
     * 分页显示借阅信息
     */
    public PageBean<MsBook> selectByAdminId(int adminId, int currentPage) {
        HashMap<String,Object> map = new HashMap<String,Object>();
        PageBean<MsBook> pageBean = new PageBean<MsBook>();
        
        //设置当前页数
        pageBean.setCurrPage(currentPage);
        
        //设置每页显示的数据
        int pageSize = Message.PAGE_SIZE;
        pageBean.setPageSize(pageSize);
        
        //设置总页数
        int totalCount = msBookMapper.selectCount();
        pageBean.setTotalCount(totalCount);
        
        //设置总页数
        double tc = totalCount;
        Double num = Math.ceil(tc/pageSize);
        pageBean.setTotalPage(num.intValue());
        
        map.put("start", (currentPage-1)*pageSize);
        map.put("size", pageBean.getPageSize());
        
        //封装每页显示的数据
//        List<MsBook> bookList = msBookMapper.selectByPage(map);
        List<MsBook> bookList = msBookMapper.selectByAdminId(adminId);
        pageBean.setLists(bookList);
        
        return pageBean;
    }
    
    /**
     * 分页显示书籍
     */
    public PageBean<MsBook> selectByPage(String title,String author,int currentPage) {
        HashMap<String,Object> map = new HashMap<String,Object>();
        PageBean<MsBook> pageBean = new PageBean<MsBook>();
        
        //设置当前页数
        pageBean.setCurrPage(currentPage);
        
        //设置每页显示的数据
        int pageSize = Message.PAGE_SIZE;
        pageBean.setPageSize(pageSize);
        
        //设置总页数
        int totalCount = msBookMapper.selectCount();
        pageBean.setTotalCount(totalCount);
        
        //设置总页数
        double tc = totalCount;
        Double num = Math.ceil(tc/pageSize);
        pageBean.setTotalPage(num.intValue());
        
        map.put("start", (currentPage-1)*pageSize);
        map.put("size", pageBean.getPageSize());
        map.put("author", author);
        map.put("title", title);
        
        //封装每页显示的数据
        List<MsBook> bookList = msBookMapper.selectByPage(map);
        pageBean.setLists(bookList);
        
        return pageBean;
    }

public int selectCount() {
        return msBookMapper.selectCount();
    }

public MsBook selectByID(int id) {
        return msBookMapper.selectByPrimaryKey(id);
    }
    
    public int updateByPrimaryKeySelective(MsBook record) {
        return msBookMapper.updateByPrimaryKeySelective(record);
    }

public int deleteByPrimaryKey(Integer id) {
        return msBookMapper.deleteByPrimaryKey(id);
    }

public List<MsBook> selectNewBook() {
        return msBookMapper.selectNewBook();
    }

public List<MsBook> selectBookDel() {
        return msBookMapper.selectBookDel();
    }

public int updateBackBook(int id) {
        return msBookMapper.updateBackBook(id);
    }

public int deleteBookReal(int id) {
        return msBookMapper.deleteBookReal(id);
    }

public int updateBookRemainder(Integer id, String borrowOrReturn) {
        logger.info("***MsBookServiceImpl类的updateBorrowBook方法***");
        if (borrowOrReturn == "borrow") {    // 借 -1
            return msBookMapper.updateBookRemainderSub(id);
        }
        if (borrowOrReturn == "return") {    // 还 +1
            return msBookMapper.updateBookRemainderAdd(id);
        }
        return 0;
    }

public int updateBookSum(Integer id) {
        logger.info("***MsBookServiceImpl类的updateBookSum方法***");
        return msBookMapper.updateBookSum(id);
    }

}

package cn.test.bookms.service.impl;import java.util.HashMap;
import java.util.List;import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import cn.test.bookms.entity.MsBook;
import cn.test.bookms.entity.PageBean;
import cn.test.bookms.mapper.MsBookMapper;
import cn.test.bookms.service.MsBookService;
import cn.test.bookms.util.Message;@Service("msBookService")
public class MsBookServiceImpl implements MsBookService {Logger logger = Logger.getLogger(MsBookServiceImpl.class);@Autowiredprivate MsBookMapper msBookMapper;public void insertBook(MsBook book) {msBookMapper.insert(book);}/*** 分页显示借阅信息*/public PageBean<MsBook> selectByAdminId(int adminId, int currentPage) {HashMap<String,Object> map = new HashMap<String,Object>();PageBean<MsBook> pageBean = new PageBean<MsBook>();//设置当前页数pageBean.setCurrPage(currentPage);//设置每页显示的数据int pageSize = Message.PAGE_SIZE;pageBean.setPageSize(pageSize);//设置总页数int totalCount = msBookMapper.selectCount();pageBean.setTotalCount(totalCount);//设置总页数double tc = totalCount;Double num = Math.ceil(tc/pageSize);pageBean.setTotalPage(num.intValue());map.put("start", (currentPage-1)*pageSize);map.put("size", pageBean.getPageSize());//封装每页显示的数据
//        List<MsBook> bookList = msBookMapper.selectByPage(map);List<MsBook> bookList = msBookMapper.selectByAdminId(adminId);pageBean.setLists(bookList);return pageBean;}/*** 分页显示书籍*/public PageBean<MsBook> selectByPage(String title,String author,int currentPage) {HashMap<String,Object> map = new HashMap<String,Object>();PageBean<MsBook> pageBean = new PageBean<MsBook>();//设置当前页数pageBean.setCurrPage(currentPage);//设置每页显示的数据int pageSize = Message.PAGE_SIZE;pageBean.setPageSize(pageSize);//设置总页数int totalCount = msBookMapper.selectCount();pageBean.setTotalCount(totalCount);//设置总页数double tc = totalCount;Double num = Math.ceil(tc/pageSize);pageBean.setTotalPage(num.intValue());map.put("start", (currentPage-1)*pageSize);map.put("size", pageBean.getPageSize());map.put("author", author);map.put("title", title);//封装每页显示的数据List<MsBook> bookList = msBookMapper.selectByPage(map);pageBean.setLists(bookList);return pageBean;}public int selectCount() {return msBookMapper.selectCount();}public MsBook selectByID(int id) {return msBookMapper.selectByPrimaryKey(id);}public int updateByPrimaryKeySelective(MsBook record) {return msBookMapper.updateByPrimaryKeySelective(record);}public int deleteByPrimaryKey(Integer id) {return msBookMapper.deleteByPrimaryKey(id);}public List<MsBook> selectNewBook() {return msBookMapper.selectNewBook();}public List<MsBook> selectBookDel() {return msBookMapper.selectBookDel();}public int updateBackBook(int id) {return msBookMapper.updateBackBook(id);}public int deleteBookReal(int id) {return msBookMapper.deleteBookReal(id);}public int updateBookRemainder(Integer id, String borrowOrReturn) {logger.info("***MsBookServiceImpl类的updateBorrowBook方法***");if (borrowOrReturn == "borrow") {   // 借 -1return msBookMapper.updateBookRemainderSub(id);}if (borrowOrReturn == "return") {    // 还 +1return msBookMapper.updateBookRemainderAdd(id);}return 0;}public int updateBookSum(Integer id) {logger.info("***MsBookServiceImpl类的updateBookSum方法***");return msBookMapper.updateBookSum(id);}}

基于SSM实现图书管理系统相关推荐

  1. 含文档+PPT+源码等]精品基于SSM的图书管理系统[包运行成功]

     博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 含文档+PPT+源码等]精品基于SSM的图书管理系统[包运行成功] 系统介绍 & ...

  2. 【JAVA程序设计】基于SSM的图书管理系统-有论文文档

    基于SSM的图书管理系统-有文档 项目获取 项目简介 开发环境 项目技术 功能结构 文档目录 运行截图 项目获取 获取方式(点击下载):是云猿实战 项目经过多人测试运行,可以确保100%成功运行. 项 ...

  3. 基于SSM框架图书管理系统开发与设计(附源码资料)-毕业设计

    文章目录 1. 适用人群 2. 你将收获 3.项目简介 4.技术实现 5.系统功能 5.1.管理员身份登录 5.1.1.登录 5.1.2.管理员登录首页 5.1.3.借阅管理 5.1.4.图书管理 5 ...

  4. 【毕业设计】基于SSM的图书管理系统

    文章目录 0 前言 1 前言 2 系统实现 2.1 数据库表 2.2 前后端分离架构 2.3 技术栈 2.4 相关代码 3 项目展示 4 最后 0 前言 Hi,同学们好呀,学长今天带大家复盘一个学长帮 ...

  5. 基于ssm的图书(借阅)管理系统

    基于ssm的图书(借阅)管理系统 项目获取 文章结构 一.开发框架及业务方向 1.开发环境 2.开发框架 3.整体业务 二.项目结构及页面展示 项目获取 前往获取源码:码农源码 文章结构 一.开发框架 ...

  6. 基于ssm的图书借阅管理系统

    开发环境 idea+mysql8.0+jdk1.8 系统简介 本系统实现的是一个图书管理系统,系统分为管理员和读者登录,管理员登录可以管理整个系统,包括公告管理,借阅管理.图书管理.读者管理.类型管理 ...

  7. (附源码)计算机毕业设计SSM基于vue的图书管理系统2022

    (附源码)计算机毕业设计SSM基于vue的图书管理系统2022 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...

  8. 基于SSM的书店管理系统

    1.项目介绍 基于SSM的书店管理系统拥有两种角色:管理员和用户 管理员:VIP管理.用户管理.图书管理.上架.类目管理.订单管理.公告管理.发货等 用户:登录注册.购买图书.购物车.订单查看.评论图 ...

  9. java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈 ...

最新文章

  1. 【腾讯面试题】熊出没
  2. 基于OpenGL的三种直线生成算法
  3. (原)学习ORACLE 视图
  4. 深度理解 Virtual DOM
  5. 悬浮窗java_Java制作一个简易的悬浮窗/PPT悬浮窗
  6. Java基础入门笔记-数组对象
  7. java.lang中String=和equals()函数解析
  8. 浏览器CSS hack整理
  9. AXure交互设计指南
  10. 听8位淘宝工程师聊聊他们眼中的元宇宙 | 1024特辑
  11. open gapps各版本详细介绍
  12. 《机器学习》总结与心得
  13. mysql 对视图的操作_Mysql中关于视图操作的详解
  14. centos7.6安装博通无线网卡驱动
  15. 会声会影2023最新版功能介绍及使用教程
  16. 你真的知道如何在B站赚钱吗?
  17. 小说文学行业之“盛大文学”
  18. Tomcat9.0.13 Bug引发的java.io.IOException:(打开的文件过多 Too many open files)导致服务假死...
  19. USB 2.0 A型、B型、Mini和Micro接口 type-c 定义及封装
  20. android Jetpack StateFlow使用

热门文章

  1. Cordic算法——圆周系统之向量模式
  2. 华为云数据库自研黑科技,助推企业成本再降 50%
  3. 寄存器和常用的汇编指令
  4. 使用Mysql ID自增长时 在Mapper的insert里添加对应的代码
  5. sersync+rsync数据同步
  6. Winforms-GePlugin-Control-library
  7. 4、Python —— 函数
  8. 一起谈.NET技术,保护您的 Silverlight 应用程序的安全
  9. 《WCF技术内幕》翻译1:《WCF技术内幕》目录和作者简介
  10. P2P网络“自由”穿越NAT的“秘密”