基于SSM实现图书管理系统

简介: 基于SSM实现图书管理系统

项目编号: BS-XX-029


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


系统分两 种角色:


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


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


具体功能演示如下:

管理员用户登陆:

image.png

管理员操作主界面:

image.png

图书管理

image.png

图书查询

image.png

添加图书

image.png

最新图书

image.png

图书借阅记录

image.png

读者管理

image.png

图书下架列表

image.png

读者添加

image.png

逾期查询

image.png

读者角色进入系统:


image.png

查询图书

image.png

最新图书

image.png

借阅管理

image.png

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

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);
  @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);
  }
}
相关文章
|
3月前
|
Java 关系型数据库 MySQL
毕业设计|课程设计|SSM开发实现图书管理系统(一)
毕业设计|课程设计|SSM开发实现图书管理系统
|
5月前
|
NoSQL Java 关系型数据库
基于SSM的图书管理系统(部署文档+数据库表结构文档)。Javaee项目。
基于SSM的图书管理系统(部署文档+数据库表结构文档)。Javaee项目。
|
3月前
|
人工智能 前端开发 JavaScript
毕业设计|课程设计|SSM开发实现图书管理系统(二)
毕业设计|课程设计|SSM开发实现图书管理系统
|
4月前
|
前端开发 JavaScript Java
毕业设计|课程设计|SSM开发实现图书管理系统
毕业设计|课程设计|SSM开发实现图书管理系统
|
5月前
|
JavaScript Java 关系型数据库
ssm+vue的图书管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
ssm+vue的图书管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
|
5月前
|
Java 关系型数据库 MySQL
0021Java程序设计-SSM框架图书管理系统
0021Java程序设计-SSM框架图书管理系统
33 0
|
10月前
|
小程序 前端开发 JavaScript
ssm+vue基本微信小程序的智能图书管理系统
图书管理系统可以有效实现图书管理的规范化、系统化化管理,减少了手工管理过程中的缺陷。能对所有图书资料进行统一的操作管理,让读者可以更方便借阅图书,能使图书馆更好的发挥其功能,使读者能更好地享受图书资源。现如今,计算机发展是最快的,计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性同时,建立一个实用而操作简便的检索查询系统也同样重要。 社区图书管理系统可以有效实现对图书的管理的规范化,系统化管理,减少人工服务情况下的各种错误和缺陷,可对现有的图书馆内资源进行统一的管理。对于社区图书管理员,该系统可以帮助管理员能以更快捷的服务速度对读
158 0
|
10月前
|
小程序 前端开发 Java
ssm+vue基本微信小程序的智能图书管理系统
本设计旨在研究一种社区图书管理系统设计与实现系统,以各种浏览器web页面加上云服务器后端服务系统,通过这一设计过程,进一步熟悉web前端开发技术和云服务器后端开发技术和方法,培养理论联系实际及知识的综合运用能力。 图书管理系统可以有效实现图书管理的规范化、系统化化管理,减少了手工管理过程中的缺陷。能对所有图书资料进行统一的操作管理,让读者可以更方便借阅图书,能使图书馆更好的发挥其功能,使读者能更好地享受图书资源。现如今,计算机发展是最快的,计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性同时,建立一个实用而操作简便的检索查询系统也
|
SQL Java 关系型数据库
IDEA+Java+SSM+JSP+Mysql实现Web图书管理系统
IDEA+Java+SSM+JSP+Mysql实现Web图书管理系统
502 0
IDEA+Java+SSM+JSP+Mysql实现Web图书管理系统
|
前端开发 Java 关系型数据库
基于SSM的先锋图书管理系统
本系统为原创项目,基于SSM整合开发,分为2个角色。下方为需求功能。
基于SSM的先锋图书管理系统