java+mysql实现图书馆管理系统实战

 更新时间:2020年12月17日 15:05:17   作者:ztq666666  
这篇文章主要为大家详细介绍了java+mysql实现图书馆管理系统实战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java+mysql实现图书馆管理系统的具体代码,供大家参考,具体内容如下

概述

基于Spring + Spring MVC + MyBatis的图书馆管理系统,使用Maven进行包管理。主要功能包括:图书查询、图书管理、图书编辑、读者管理、图书的借阅与归还以及借还日志记录等。

代码

@Controller
public class LendController {
 @Autowired
 private LendService lendService;

 @Autowired
 private BookService bookService;

 @RequestMapping("/deletebook.html")
 public String deleteBook(HttpServletRequest request, RedirectAttributes redirectAttributes) {
 long bookId = Long.parseLong(request.getParameter("bookId"));
 if (bookService.deleteBook(bookId)) {
 redirectAttributes.addFlashAttribute("succ", "图书删除成功!");
 } else {
 redirectAttributes.addFlashAttribute("error", "图书删除失败!");
 }
 return "redirect:/admin_books.html";
 }

 @RequestMapping("/lendlist.html")
 public ModelAndView lendList(HttpServletRequest request) {
 ModelAndView modelAndView = new ModelAndView("admin_lend_list");
 modelAndView.addObject("list", lendService.lendList());
 return modelAndView;
 }

 @RequestMapping("/mylend.html")
 public ModelAndView myLend(HttpServletRequest request) {
 ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard");
 ModelAndView modelAndView = new ModelAndView("reader_lend_list");
 modelAndView.addObject("list", lendService.myLendList(readerCard.getReaderId()));
 return modelAndView;
 }

 @RequestMapping("/deletelend.html")
 public String deleteLend(HttpServletRequest request, RedirectAttributes redirectAttributes) {
 long serNum = Long.parseLong(request.getParameter("serNum"));
 if (lendService.deleteLend(serNum) > 0) {
 redirectAttributes.addFlashAttribute("succ", "记录删除成功!");
 } else {
 redirectAttributes.addFlashAttribute("error", "记录删除失败!");
 }
 return "redirect:/lendlist.html";
 }

 @RequestMapping("/lendbook.html")
 public String bookLend(HttpServletRequest request, RedirectAttributes redirectAttributes) {
 long bookId = Long.parseLong(request.getParameter("bookId"));
 long readerId = ((ReaderCard) request.getSession().getAttribute("readercard")).getReaderId();
 if (lendService.lendBook(bookId, readerId)) {
 redirectAttributes.addFlashAttribute("succ", "图书借阅成功!");
 } else {
 redirectAttributes.addFlashAttribute("succ", "图书借阅成功!");
 }
 return "redirect:/reader_books.html";
 }

 @RequestMapping("/returnbook.html")
 public String bookReturn(HttpServletRequest request, RedirectAttributes redirectAttributes) {
 long bookId = Long.parseLong(request.getParameter("bookId"));
 long readerId = ((ReaderCard) request.getSession().getAttribute("readercard")).getReaderId();
 if (lendService.returnBook(bookId, readerId)) {
 redirectAttributes.addFlashAttribute("succ", "图书归还成功!");
 } else {
 redirectAttributes.addFlashAttribute("error", "图书归还失败!");
 }
 return "redirect:/reader_books.html";
 }
}

运行配置

1.首先安装Mysql5.7,设置用户名为root,密码为root,并保证其在运行状态,并执行library.sql文件导入数据。
2.然后再配置Maven到环境变量中,在源代码目录下运行

mvn jetty:run

3.使用浏览器访问http://localhost:8080即可进入系统。

概念设计

用户分为两类:读者、图书馆管理员。图书馆管理员可以修改读者信息,修改书目信息,查看所有借还日志等;读者仅可以修改个人信息、借阅或归还书籍和查看自己的借还日志。

数据库E-R图

功能展示

1. 首页登陆

2. 管理员系统

用登陆进入

2.1 图书管理

2.2 图书详情

2.3 读者管理

2.4 借还管理

3. 读者系统

3.1 查看全部图书

3.2 个人信息查看,可以修个个人信息

3.3 个人借阅情况查看

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 浅谈Spring Bean的作用域之间有什么区别

    浅谈Spring Bean的作用域之间有什么区别

    Spring的bean有5种作用域是singleton、prototype、request、session和globalSession,本文主要介绍了浅谈Spring Bean的作用域之间有什么区别,感兴趣的可以了解一下
    2024-05-05
  • java 中ThreadLocal本地线程和同步机制的比较

    java 中ThreadLocal本地线程和同步机制的比较

    这篇文章主要介绍了java 中ThreadLocal本地线程和同步机制的比较的相关资料,需要的朋友可以参考下
    2017-03-03
  • java中xml进行报文发送和解析操作

    java中xml进行报文发送和解析操作

    这篇文章主要介绍了java中xml进行报文发送和解析操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • mybatis中mapper代理的生成过程全面分析

    mybatis中mapper代理的生成过程全面分析

    这篇文章主要为大家介绍了mybatis中mapper代理的生成过程全面分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 深入学习Java 动态代理

    深入学习Java 动态代理

    Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。下面小编和大家来一起学习一下吧
    2019-05-05
  • Java实现分页的几种方法详细解析

    Java实现分页的几种方法详细解析

    这篇文章主要介绍了Java实现分页的几种方法详细解析,在Java中想实现分页功能有几种常用的方法,今天我们就来详细解析一下,文中提供了解决思路和部分实现代码,需要的朋友可以参考下
    2023-11-11
  • Java如何做带复选框的菜单实例代码

    Java如何做带复选框的菜单实例代码

    大家好,本篇文章主要讲的是Java如何做带复选框的菜单实例代码,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • java高并发之理解进程和线程

    java高并发之理解进程和线程

    这篇文章主要给大家介绍了关于java高并发进程和线程的内容,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2021-10-10
  • Java volatile的适用场景实例详解

    Java volatile的适用场景实例详解

    在本文里我们给大家整理了一篇关于Java volatile的适用场景实例内容和知识点,需要的朋友们可以学习下。
    2019-08-08
  • spring boot项目导入依赖后代码报错问题的解决方法

    spring boot项目导入依赖后代码报错问题的解决方法

    这篇文章主要给大家介绍了关于spring boot项目导入依赖后代码报错问题的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08

最新评论