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 TaskScheduler使用实例解析

    Spring TaskScheduler使用实例解析

    这篇文章主要介绍了Spring TaskScheduler使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Springboot自动加载配置的原理解析

    Springboot自动加载配置的原理解析

    Springboot遵循“约定优于配置”的原则,使用注解对一些常规的配置项做默认配置,减少或不使用xml配置,让你的项目快速运行起来,这篇文章主要给大家介绍了关于Springboot自动加载配置原理的相关资料,需要的朋友可以参考下
    2021-10-10
  • 深入了解JAVA数据类型与运算符

    深入了解JAVA数据类型与运算符

    这篇文章主要介绍了Java基本数据类型和运算符,结合实例形式详细分析了java基本数据类型、数据类型转换、算术运算符、逻辑运算符等相关原理与操作技巧,需要的朋友可以参考下
    2021-07-07
  • 详解Jmeter中的BeanShell脚本

    详解Jmeter中的BeanShell脚本

    BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法,所以它和java是可以无缝衔接的,学了Java的一些基本语法后,就可以来在Jmeter中写写BeanShell脚本了
    2021-12-12
  • Java在PDF中添加表格过程详解

    Java在PDF中添加表格过程详解

    这篇文章主要介绍了Java在PDF中添加表格过程详解,本文将介绍通过Java编程在PDF文档中添加表格的方法。添加表格时,可设置表格边框、单元格对齐方式、单元格背景色、单元格合并、插入图片、设置行高、列宽、字体、字号等,需要的朋友可以参考下
    2019-07-07
  • 如何在 Java 中实现不可变类

    如何在 Java 中实现不可变类

    这篇文章主要介绍了如何在 Java 中实现不可变类,不变性是函数式编程的关键,因为它与尽量减少变化部分的这一目标相一致,这使得对这些部分的推断更为容易一些。,需要的朋友可以参考下
    2019-06-06
  • springboot实现修改请求状态404改为200

    springboot实现修改请求状态404改为200

    这篇文章主要介绍了springboot实现修改请求状态404改为200方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Android中PreferenceFragment的使用详解

    Android中PreferenceFragment的使用详解

    本文主要介绍了Android中PreferenceFragment的使用详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Spring实战之获取其他Bean的属性值操作示例

    Spring实战之获取其他Bean的属性值操作示例

    这篇文章主要介绍了Spring实战之获取其他Bean的属性值操作,结合实例形式分析了Spring操作Bean属性值的相关配置与实现技巧,需要的朋友可以参考下
    2019-12-12
  • Java趣味练习题之输出两个日期之间的相隔天数

    Java趣味练习题之输出两个日期之间的相隔天数

    本篇文章介绍了我看到的一个趣味小题目,怎么求得两个日期之间相隔的天数,以及解决该题目的过程及思路,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-10-10

最新评论