基于Springboot和Vue实现的图书管理系统

基于Springboot和Vue实现的图书管理系统 1,项目简介 1,1 前言 由于课设需要做这个,于是就抽了点闲余时间,写了下,基本全部都涉及到,包括书籍信息的更新

本文包含相关资料包-----> 点击直达获取<-------

基于Springboot和Vue实现的图书管理系统

1.项目简介

1.1 前言

由于课设需要做这个,于是就抽了点闲余时间,写了下,基本全部都涉及到,包括书籍信息的更新,查看所有的书籍。这篇我讲一下我的思路以及中间遇到的问题和解决办法。

1.2 需求分析

MIS最重要的就是需求分析,只有分析清晰了,才能动手编程,所谓编程,不过是把一种思路用代码实现而已,这里就图书管理系统来说,这个系统至少要完成如下内容:

  • 图书信息的增加与删除

  • 图书信息的更新

  • 全部书籍的查看

我说的以上只是最基础的东西,如果能实现的更多当然更全面,就看自己对这个图书管理系统功能的理解了。

1.3 数据库表的建立

当需求分析完成之后,我们要考虑的就是这些信息如何存储在表里,需要几张表,每张表存储什么信息,字段名是什么,什么类型;在这里,我认为只用一张表,用来存储书籍的有关信息。

搭建数据库

``sql DROP TABLE IF EXISTS book ; /*!40101 SET @saved_cs_client = @@character_set_client */; SET character_set_client = utf8mb4 ; CREATE TABLE book ( id int(10) NOT NULL AUTO_INCREMENT, name varchar(20) DEFAULT NULL, author varchar(20) DEFAULT NULL, publish varchar(20) DEFAULT NULL, pages int(10) DEFAULT NULL, price float(10,2) DEFAULT NULL, bookcaseid int(10) DEFAULT NULL, abled int(10) DEFAULT NULL, PRIMARY KEY ( id ), KEY FK_ieh6qsxp6q7oydadktc9oc8t2 ( bookcaseid ), CONSTRAINT FK_ieh6qsxp6q7oydadktc9oc8t2 FOREIGN KEY ( bookcaseid ) REFERENCES bookcase ( id`) ) ENGINE=InnoDB AUTO_INCREMENT=119 DEFAULT CHARSET=utf8; / !40101 SET character_set_client = @saved_cs_client /;

-- -- Dumping data for table book --

LOCK TABLES book WRITE; / !40000 ALTER TABLE book DISABLE KEYS /; INSERT INTO book VALUES (1,'解忧杂货店','东野圭吾','电子工业出版社',102,27.30,9,1),(2,'追风筝的人','卡勒德·胡赛尼','中信出版社',330,26.00,1,1),(3,'人间失格','太宰治','作家出版社',150,17.30,1,1),(4,'这就是二十四节气','高春香','电子工业出版社',220,59.00,3,1),(5,'白夜行','东野圭吾','南海出版公司',300,27.30,4,1),(6,'摆渡人','克莱儿·麦克福尔','百花洲文艺出版社',225,22.80,1,1),(7,'暖暖心绘本','米拦弗特毕','湖南少儿出版社',168,131.60,5,1),(8,'天才在左疯子在右','高铭','北京联合出版公司',330,27.50,6,1),(9,'我们仨','杨绛','生活.读书.新知三联书店',89,17.20,7,1),(10,'活着','余华','作家出版社',100,100.00,6,1),(11,'水浒传','施耐庵','三联出版社',300,50.00,1,1),(12,'三国演义','罗贯中','三联出版社',300,50.00,2,1),(13,'红楼梦','曹雪芹','三联出版社',300,50.00,5,1),(14,'西游记','吴承恩','三联出版社',300,60.00,3,1); / !40000 ALTER TABLE book ENABLE KEYS /; UNLOCK TABLES; ```

1.4 前后端分离

前后端分离就是将⼀个应⽤的前端代码和后端代码分开写,为什么要这样做?如果不使⽤前后端分离的⽅式,会有哪些问题?

传统的 Java Web 开发中,前端使⽤ JSP 开发,JSP 不是由后端开发者来独⽴完成的。

前端 --> HTML 静态⻚⾯ --> 后端 --> JSP

这种开发⽅式效率极低,可以使⽤前后端分离的⽅式进⾏开发,就可以完美地解决这⼀问题

  • 前端只需要独⽴编写客户端代码,后端也只需要独⽴编写服务端代码提供数据接⼝即可

  • 前端通过 Ajax 请求来访问后端的数据接⼝,将 Model 展示到 View 中即可

前后端开发者只需要提前约定好接⼝⽂档(URL、参数、数据类型...),然后分别独⽴开发即可,前端 可以造假数据进⾏测试,完全不需要依赖于后端,最后完成前后端集成即可,真正实现了前后端应⽤的 解耦合,极⼤地提升了开发效率。

单体 --> 前端应⽤ + 后端应⽤

  • 前端应⽤ :负责数据展示和⽤户交互

  • 后端应⽤ :负责提供数据处理接⼝

前端 HTML --> Ajax --> RESTful 后端数据接⼝

传统的单体应⽤

前后端分离的结构

前后端分离就是将⼀个单体应⽤拆分成两个独⽴的应⽤,前端应⽤和后端应⽤以 JSON 格式进⾏数据交互。

1.5 实现技术

使⽤ Spring Boot 进⾏后端应⽤开发,使⽤ Vue 进⾏前端应⽤开发。

Vue + Element UI ,Vue 集成 Element UI,Element UI 后台管理系统主要的标签

  • el-container :构建整个⻚⾯框架

  • el-aside :构建左侧菜单

  • el-menu :左侧菜单内容,常⽤属性

  • :default-openeds:默认展开的菜单,通过菜单的 index 值来关联
  • :default-active:默认选中的菜单,通过菜单的 index 值来关联

  • el-submenu:可展开的菜单,常⽤属性

  • index:菜单的下标,⽂本类型,不能是数值类型
  • template:对应 el-submenu 的菜单名

  • i:设置菜单图标,通过 class 属性实则

  • el-icon-messae
  • el-icon-menu
  • el-icon-setting

  • el-menu-item:菜单的⼦节点,不可再展开,常⽤属性

  • index:菜单的下标,⽂本类型,不能是数值类型

Element UI 表单数据校验

定义 rules 对象,在 rules 对象中设置表单各个选项的校验规则。

js rules: { name: [ { required: true, message: 'error', trigger: 'blur' }, { min: 3, max: 5, message: '⻓度在 3 到 5 个字符', trigger: 'blur' } ] }

  • required : true, 是否为必填项

  • message : 'error', 提示信息

  • trigger : 'blur',触发事件

2.项目开发

2.1 业务代码

java @RestController @RequestMapping("/book") @CrossOrigin public class BookHandler { @Autowired private BookRepository bookRepository; @GetMapping("/findAll/{page}/{size}") public Page<Book> findAll(@PathVariable("page") Integer page, @PathVariable("size") Integer size){ Pageable pageable= PageRequest.of(page-1,size); return bookRepository.findAll(pageable); } @PostMapping("/save") public String save(@RequestBody Book book){ Book result = bookRepository.save(book); if(result != null){ return "success"; }else{ return "error"; } } @GetMapping("/findById/{id}") public Book findById(@PathVariable("id") Integer id){ return bookRepository.findById(id).get(); //返回的是optional,book上又包了一层,所以get才能取出来 } @PutMapping("/update") public String update(@RequestBody Book book){ Book result = bookRepository.save(book); if(result != null){ return "success"; }else{ return "error"; } } @DeleteMapping("/deleteById/{id}") public void deleteById(@PathVariable("id") Integer id){ bookRepository.deleteById(id); } }

2.2 前端视图层

```vue

```

3.项目展示

主页

修改页面

添加图书

删除图书

4.总结

其实因为我们做的只是一个比较简单的,课设级别的MIS,所以我就没有做的更细致一点,其实完全可以再产生几个表,用来根据学生ID来找相对应需要的信息,但这里就不再赘述,有兴趣的自己尝试一下。

参考文献

  • 基于SSH架构的高校自助化图书管理系统的设计与实现(大连理工大学·杨议)
  • 基于Android平台的图书管理系统手机客户端开发(电子科技大学·赵鲲)
  • 图书馆管理信息系统的设计与实现(华东师范大学·朱瑞)
  • 基于SSH框架的图书馆管理系统的设计与实现(山东大学·檀雪姣)
  • 基于B/S架构图书管理系统的设计与实现(北京工业大学·刘帅)
  • 基于J2EE架构的某学院图书管理信息系统设计与开发(电子科技大学·戴杰)
  • 基于J2EE的图书管理系统设计与实现(电子科技大学·佘妮娟)
  • 大同实验小学图书馆借还系统的设计与实现(电子科技大学·王洪宇)
  • 基于.NET技术的高校图书管理系统的设计与实现(吉林大学·李敏琪)
  • 高校图书管理系统的设计与实现(东北大学·黄鑫)
  • 基于SSH框架的图书馆管理系统分析与设计(云南大学·郑晨)
  • 图书综合管理系统(吉林大学·王宇)
  • 基于.NET技术的高校图书管理系统的设计与实现(吉林大学·李敏琪)
  • 基于B/S架构的图书管理系统的设计与实现(山东大学·蒲琼)
  • 宁波职业技术学院图书管理系统分析与设计(云南大学·赵顺勇)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码客栈网 ,原文地址:https://bishedaima.com/yuanma/35528.html

相关推荐

  • 大学生租房平台

    这是一个🔥🔥基于SpringBoot框架的大学生租房平台设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • 基于SpringBoot框架的地方旅游网站

    这是一份采用🔥🔥SpringBoot为核心的本地旅游网站开发源代码🔥🔥,主要编程语言为Java,并结合了Vue技术进行构建,开发工具为Idea或Eclipse,此项目适合作为毕业设计或课程实践的任务
    2024年05月23日
    3 1 1
  • 基于SpringBoot框架的线上辅导班系统

    这是一套采用Java语言编写的🔥🔥SpringBoot核心框架的在线辅导平台源代码🔥🔥,该项目运用了SpringBoot和Vue技术栈,支持在Idea或Eclipse开发环境中运行
    2024年05月23日
    2 1 1
  • Python实现基于协同过滤的电影推荐系统

    个性化电影推荐系统 设计总说明 本文设计了一个个性化电影推荐系统,众所周知,现在电影资源是网络资源的重要组成部分,随着网络上电影资源的数量越来越庞大
    2024年05月14日
    10 1 1
  • 基于SpringBoot框架的在线教育系统

    这是一套采用Java编程语言,基于SpringBoot框架构建的在线教育系统源代码,该项目运用了SpringBoot和Vue的技术栈,开发工具为Idea或Eclipse
    2024年05月23日
    11 1 4
  • 基于Python实现的宠物识别系统

    项目简介 心血来潮,想从零开始编写一个相对完整的深度学习小项目,想到就做,那么首先要考虑的问题是,写什么? 思量再三,我决定写一个宠物识别系统,即给定一张图片
    2024年05月14日
    2 1 2
  • 基于Java的员工培训管理系统

    基于Java的员工培训管理系统 摘 要 随着信息技术的迅速发展,信息资源数字化,网络化的进程进一步加快,信息化的管理系统越来越重要,在本次的课程设计中我们小组选择的是员工培训管理系统作为我们课程设计的目标程序
    2024年05月14日
    2 1 2
  • java+javaweb在线网上购物书城-仿当当

    这是一个🔥🔥javaweb在线网上购物书城-仿当当🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 JavaWeb购物书城开发技术栈为SSH项目
    2024年05月23日
    11 1 2
  • 基于Jsp的操作系统页面置换算法程序

    基于Jsp的操作系统页面置换算法程序 1, 实验目的 页面置换算法是虚拟存储管理实现的关键,通过本次实验理解内存页面调度的机制,在模拟实现FIFO,LRU等页面置换算法的基础上
    2024年05月14日
    7 1 1
  • 基于Python实现人脸识别

    Face recognition from camera with Dlib 介绍 调用摄像头进行人脸识别, 支持多张人脸同时识别; 摄像头人脸录入 请不要离摄像头过近
    2024年05月14日
    3 1 1

发表回复

登录后才能评论