• Java项目:ssm图书馆管理系统


    作者主页:源码空间站2022

     简介:Java领域优质创作者、Java项目、学习资料、技术互助

    文末获取源码

    功能介绍

    基于ssm的图书馆管理系统.主要功能包括:图书查询、图书管理、图书编辑、读者管理、图书的借阅与归还以及借还日志记录等。

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

    环境需要

    1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

    2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
    3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
    5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 

    6.数据库:MySql 5.7版本;

    技术栈

    1. 后端:Spring SpringMVC MyBatis

    2. 前端:JSP+bootstrap+jQuery

    使用说明

    1. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

    若为maven项目,导入成功后请执行maven clean;maven install命令,下载所需jar包;

    2. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    3. 将项目中db.properties配置文件中的数据库配置改为自己的配置
    4. 配置tomcat,然后运行项目,输入localhost:8080/ 登录
    5. 管理员账户:123456  密码:123456

    读者账户:10000 密码:123456

    运行截图

      

    相关代码 

    图书管理控制器

    1. @Controller
    2. public class LendController {
    3. @Autowired
    4. private LendService lendService;
    5. @Autowired
    6. private BookService bookService;
    7. @RequestMapping("/deletebook.html")
    8. public String deleteBook(HttpServletRequest request, RedirectAttributes redirectAttributes) {
    9. long bookId = Long.parseLong(request.getParameter("bookId"));
    10. if (bookService.deleteBook(bookId)) {
    11. redirectAttributes.addFlashAttribute("succ", "图书删除成功!");
    12. } else {
    13. redirectAttributes.addFlashAttribute("error", "图书删除失败!");
    14. }
    15. return "redirect:/admin_books.html";
    16. }
    17. @RequestMapping("/lendlist.html")
    18. public ModelAndView lendList(HttpServletRequest request) {
    19. ModelAndView modelAndView = new ModelAndView("admin_lend_list");
    20. ArrayList lends = lendService.lendList();
    21. ArrayList lendDates = new ArrayList<>();
    22. for (Lend lend : lends) {
    23. LendDate lendDate = new LendDate();
    24. BeanUtils.copyProperties(lend,lendDate);
    25. if (lend.getLendDate()!=null)
    26. lendDate.setLendDateStr(new SimpleDateFormat("yyyy-MM-dd").format(lend.getLendDate()));
    27. if (lend.getBackDate()!=null)
    28. lendDate.setBackDateStr(new SimpleDateFormat("yyyy-MM-dd").format(lend.getBackDate()));
    29. lendDates.add(lendDate);
    30. }
    31. modelAndView.addObject("list", lendDates);
    32. return modelAndView;
    33. }
    34. @RequestMapping("/mylend.html")
    35. public ModelAndView myLend(HttpServletRequest request) {
    36. ReaderCard readerCard = (ReaderCard) request.getSession().getAttribute("readercard");
    37. ModelAndView modelAndView = new ModelAndView("reader_lend_list");
    38. ArrayList lends = lendService.myLendList(readerCard.getReaderId());
    39. ArrayList lendDates = new ArrayList<>();
    40. for (Lend lend : lends) {
    41. LendDate lendDate = new LendDate();
    42. BeanUtils.copyProperties(lend,lendDate);
    43. if (lend.getLendDate()!=null)
    44. lendDate.setLendDateStr(new SimpleDateFormat("yyyy-MM-dd").format(lend.getLendDate()));
    45. if (lend.getBackDate()!=null)
    46. lendDate.setBackDateStr(new SimpleDateFormat("yyyy-MM-dd").format(lend.getBackDate()));
    47. lendDates.add(lendDate);
    48. }
    49. modelAndView.addObject("list", lendDates);
    50. return modelAndView;
    51. }
    52. @RequestMapping("/deletelend.html")
    53. public String deleteLend(HttpServletRequest request, RedirectAttributes redirectAttributes) {
    54. long serNum = Long.parseLong(request.getParameter("serNum"));
    55. if (lendService.deleteLend(serNum) > 0) {
    56. redirectAttributes.addFlashAttribute("succ", "记录删除成功!");
    57. } else {
    58. redirectAttributes.addFlashAttribute("error", "记录删除失败!");
    59. }
    60. return "redirect:/lendlist.html";
    61. }
    62. @RequestMapping("/lendbook.html")
    63. public String bookLend(HttpServletRequest request, RedirectAttributes redirectAttributes) {
    64. long bookId = Long.parseLong(request.getParameter("bookId"));
    65. long readerId = ((ReaderCard) request.getSession().getAttribute("readercard")).getReaderId();
    66. if (lendService.lendBook(bookId, readerId)) {
    67. redirectAttributes.addFlashAttribute("succ", "图书借阅成功!");
    68. } else {
    69. redirectAttributes.addFlashAttribute("succ", "图书借阅成功!");
    70. }
    71. return "redirect:/reader_books.html";
    72. }
    73. @RequestMapping("/returnbook.html")
    74. public String bookReturn(HttpServletRequest request, RedirectAttributes redirectAttributes) {
    75. long bookId = Long.parseLong(request.getParameter("bookId"));
    76. long readerId = ((ReaderCard) request.getSession().getAttribute("readercard")).getReaderId();
    77. if (lendService.returnBook(bookId, readerId)) {
    78. redirectAttributes.addFlashAttribute("succ", "图书归还成功!");
    79. } else {
    80. redirectAttributes.addFlashAttribute("error", "图书归还失败!");
    81. }
    82. return "redirect:/reader_books.html";
    83. }
    84. }

    如果也想学习本系统,下面领取。关注并回复:051ssm  

  • 相关阅读:
    【DevOps】Docker 容器及其常用命令
    Git_04_撤销工作区的修改
    Python初识(Python背景知识,安装Python,PyCharm环境搭建)
    react中reducer+上下文实战
    设计模式学习笔记(六)原型模式以及深浅拷贝的区别
    PC电脑能不能当服务器用?
    CIO如何规划企业BI分析指标体系 —— 从经营出发到绩效管理
    没想到还有这种骚操作~如何使用Golang实现无头浏览器截图?
    手把手APP抓包检测实战 - 某汽车APP
    VBA驱动SAP GUI完成界面元素值初始化
  • 原文地址:https://blog.csdn.net/m0_74967853/article/details/128162022