教材管理系统

开发工具:idea

数据库:MYSQL

数据库连接工具: navcat

模式:前后端分离

后端开发技术:SpringBoot  springMVC Mybatis

前端开发技术: LayUI  Html

前端运行环境:idea 或 hbuildx  或VScode可以单独运行。

 项目具体功能请看视频:

【java毕业设计】基于springboot+mybatis+layui的前后端分离高校教材管理系统

计算机技术和网络信息技术的发展和普及,据调查,到目前为止,我国还有许多高校,甚至一些重点院校的教材管理工 作仍为手工管理方式,这种管理方式不但与现实高校教材管理业务的需求不相适 应,而且也与高校信息化建设的发展趋势不相适应。因此,高校教材管理人员目 前迫切需要一套方便、高效的计算机化的管理信息系统来代替他们繁重、低效的传统手工管理方式,并最终实现教材管理的全面自动化。

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.gydx</groupId><artifactId>book</artifactId><version>0.0.1-SNAPSHOT</version><name>bookManager</name><description>Demo project for Spring Boot qq2118119173</description><properties><shiro.version>1.3.1</shiro.version><java.version>8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>4.1.5</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.20</version></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>${shiro.version}</version></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-all</artifactId><version>${shiro.version}</version></dependency><dependency><groupId>org.springframework.session</groupId><artifactId>spring-session</artifactId><version>1.3.5.RELEASE</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

package com.gydx.bookManager.controller;import com.alibaba.fastjson.JSONObject;
import com.gydx.bookManager.pojo.BookPageInfoPojo;
import com.gydx.bookManager.entity.Book;
import com.gydx.bookManager.pojo.ReceiveData;
import com.gydx.bookManager.service.BookService;
import com.gydx.bookManager.util.ImageUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;import java.util.List;@CrossOrigin
@RestController
public class BookInfoController {@Autowiredprivate BookService bookService;@RequestMapping("/getBookList")public String getBookList(Integer page, Integer limit, String name, String author, String publisher) {BookPageInfoPojo bookPageInfoPojo = new BookPageInfoPojo();bookPageInfoPojo.setPage(page);bookPageInfoPojo.setLimit(limit);bookPageInfoPojo.setAuthor(author);bookPageInfoPojo.setName(name);bookPageInfoPojo.setPublisher(publisher);JSONObject jsonObject = new JSONObject();List<Book> books1, books2;if (bookPageInfoPojo.getName().equals("") && bookPageInfoPojo.getAuthor().equals("") && bookPageInfoPojo.getPublisher().equals("")) {books1 = bookService.getBookList(bookPageInfoPojo.getPage(), bookPageInfoPojo.getLimit());books2 = bookService.getAllBooks();} else {books1 = bookService.getBookListByCondition(bookPageInfoPojo);books2 = bookService.getAllBooksByCondition(bookPageInfoPojo);}jsonObject.put("code", 0);jsonObject.put("msg", "查询成功");jsonObject.put("count", books2.size());jsonObject.put("data", books1);return jsonObject.toJSONString();}@RequestMapping("/deleteOneBookById")public String deleteOneBookById(@RequestBody Book book) {JSONObject jsonObject = new JSONObject();bookService.deleteOneBookById(book.getId());jsonObject.put("msg", "删除成功!");return jsonObject.toJSONString();}@RequestMapping("/updateBookInfo")public String updateBookInfo(@RequestBody Book book) {JSONObject jsonObject = new JSONObject();bookService.updateBookInfo(book);jsonObject.put("msg", "更新成功!");return jsonObject.toJSONString();}@RequestMapping("/deleteBooks")public String deleteBooks(@RequestBody List<Book> books) {JSONObject jsonObject = new JSONObject();bookService.deleteBooks(books);jsonObject.put("msg", "已删除!");return jsonObject.toJSONString();}@RequestMapping("/addBook")public String addBook(@RequestBody Book book) {JSONObject jsonObject = new JSONObject();int i = bookService.addBook(book);if (i == 0) {jsonObject.put("msg", "该教材已存在!");return jsonObject.toJSONString();}jsonObject.put("msg", "添加成功");return jsonObject.toJSONString();}@RequestMapping("/getBookListByMajor")public String getBookListByMajor(@RequestBody ReceiveData receiveData) {JSONObject jsonObject = new JSONObject();List<Book> books = bookService.getBookListByMajor(receiveData.getMajorName());jsonObject.put("msg", "查询成功");jsonObject.put("data", books);return jsonObject.toJSONString();}@RequestMapping("/getAllBookList")public String getAllBookList() {JSONObject jsonObject = new JSONObject();List<Book> books = bookService.getAllBookList();jsonObject.put("msg", "查询成功");jsonObject.put("data", books);return jsonObject.toJSONString();}@RequestMapping("/getAllDBookName")public String getAllDBookName() {JSONObject jsonObject = new JSONObject();List<Book> books = bookService.getAllDBookName();jsonObject.put("msg", "查询成功");jsonObject.put("data", books);return jsonObject.toJSONString();}@RequestMapping("/getAllDBookAuthor")public String getAllDBookAuthor() {JSONObject jsonObject = new JSONObject();List<Book> books = bookService.getAllDBookAuthor();jsonObject.put("msg", "查询成功");jsonObject.put("data", books);return jsonObject.toJSONString();}@RequestMapping("/getAllDBookAuthorByBookName")public String getAllDBookAuthorByBookName(@RequestBody ReceiveData receiveData) {JSONObject jsonObject = new JSONObject();List<Book> books = bookService.getAllDBookAuthorByBookName(receiveData.getBookName());jsonObject.put("msg", "查询成功");jsonObject.put("data", books);return jsonObject.toJSONString();}@RequestMapping("/getAllDBookPublishTimeByBookAuthor")public String getAllDBookPublishTimeByBookAuthor(@RequestBody ReceiveData receiveData) {JSONObject jsonObject = new JSONObject();List<Book> books = bookService.getAllDBookPublishTimeByBookAuthor(receiveData.getBookName(), receiveData.getAuthor());jsonObject.put("msg", "查询成功");jsonObject.put("data", books);return jsonObject.toJSONString();}@RequestMapping("/getAllDBookPublisherByBookPublishTime")public String getAllDBookPublisherByBookPublishTime(@RequestBody ReceiveData receiveData) {JSONObject jsonObject = new JSONObject();List<Book> books = bookService.getAllDBookPublisherByBookPublishTime(receiveData.getBookName(), receiveData.getAuthor(), receiveData.getPublishTime());jsonObject.put("msg", "查询成功");jsonObject.put("data", books);return jsonObject.toJSONString();}@RequestMapping("/getAllDBookPriceByBookPublisher")public String getAllDBookPriceByBookPublisher(@RequestBody ReceiveData receiveData) {JSONObject jsonObject = new JSONObject();List<Book> books = bookService.getAllDBookPriceByBookPublisher(receiveData.getBookName(), receiveData.getAuthor(), receiveData.getPublishTime(), receiveData.getPublisher());jsonObject.put("msg", "查询成功");jsonObject.put("data", books);return jsonObject.toJSONString();}}

application.yml:

server:port: 8080
spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/book_manager?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTCusername: rootpassword: root# 连接池配置druid:# 初始化,最小,最大 连接数initial-size: 3min-idle: 3max-active: 18# 获取数据库连接最长等待时间max-wait: 60000# 多久检测一次需要关闭的空闲连接time-between-eviction-runs-millis: 60000validation-query: SELECT 'x'redis:host: localhostport: 6379jedis:pool:max-active: 10max-idle: 8min-idle: 0max-wait: -1timeout: 0mail:host: smtp.qq.compassword: ojxxnhpnawswffaeusername: 1102348527@qq.comproperties:mail:auth: truesmtp:enable: truemvc:static-path-pattern: classpath:static/**resources:static-locations: classpath:static/
mybatis:mapper-locations: classpath:mapper/*Mapper.xmlconfiguration:map-underscore-to-camel-case: truelogging:level:root: infofile:path: /bookManager/max-history: 30name: mylog.logpattern:file: '%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n'

基于springboot+layui的前后端分离高校教材管理系统源码相关推荐

  1. 基于SpringBoot+vue的前后端分离学生成绩管理系统的设计与实现--毕业设计

    开发环境 JAVA8.MySQL5.7.SpringBoot2.1.0.Vue.ElementUI.JPA 主要功能 学生信息:学号.姓名.性别.联系方式.班级. 成绩管理:学号.课程编号.成绩 班级 ...

  2. 视频教程-springboot+Vue整合前后端分离权限后台管理系统-Java

    springboot+Vue整合前后端分离权限后台管理系统 拥有八年的Java项目开发经验,擅长Java.vue.SpringBoot.springCloud.spring.springmvc.myb ...

  3. 视频教程-SpringBoot+Security+Vue前后端分离开发权限管理系统-Java

    SpringBoot+Security+Vue前后端分离开发权限管理系统 10多年互联网一线实战经验,现就职于大型知名互联网企业,架构师, 有丰富实战经验和企业面试经验:曾就职于某上市培训机构数年,独 ...

  4. Spring Security + SpringBoot + Mybatis-plus实现前后端分离的权限管理系统

    碎碎念 在学习Spring Security的时候,有收集到这样一张图,感觉描述还是很详尽的.有阅读了一下源码,个人理解,Spring Security默认对POST的/login请求做出响应,然后就 ...

  5. 这几个SpringBoot前后端分离项目(附源码),改改就能换钱。。。

    点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 Happiness comes when we stop comp ...

  6. 基于springboot+vue的前后端分离商城系统

    springboot前后端分离商城 介绍 springboot前后端分离商城 本项目由本人根据教程实现的一个springboot项目,基本已实现项目,但是本人希望加入自己的小功能, 请期待下一次的更新 ...

  7. SpringBoot+LayUI+MybatisPlus 前后端分离 实现排名统计功能

    前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java快一年时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师. 首先给各位粉丝朋友 ...

  8. 基于Springboot+vue实现前后端分离二手图书交易

    作者主页:编程指南针 作者简介:Java领域优质创作者.CSDN博客专家 .掘金特邀作者.多年架构师设计经验.腾讯课堂常驻讲师 主要内容:Java项目.毕业设计.简历模板.学习资料.面试题库.技术互助 ...

  9. 基于Springboot+Vue实现前后端分离商城管理系统

    项目编号:BS-SC-030 一,项目简介 新新商城,一款基于 Springboot+Vue 的电商项目,前后端分离项目.完整的实现了一个商城系统应有的基本功能,包括但不限于以下主要功能模块: 前端商 ...

最新文章

  1. Redis创建高可用集群教程【Windows环境】
  2. mac linux loader,M3 Bitlocker Loader Mac版
  3. 51nod 1445 变色DNA ( Bellman-Ford算法求单源最短路径)
  4. Docker 安装创建
  5. koa2 mysql 中间件_Koa2 和 Express 中间件对比
  6. 运行了9年的QQ邮箱经典功能 终于还是迎来了终止服务
  7. 【scala初学】scala IDE eclipse
  8. ubuntu20.04 安装 Qt5.12步骤
  9. R语言数据科学编程教程-从新手到大师
  10. IBM x3850 x5U盘启动或光驱启动不起作用
  11. uniapp接收服务器消息,uniapp如何请求服务器数据
  12. 在Excel中单元格内画斜分割线,且线两边写上内容
  13. 《计算机应用基础》第04章在线测试,《计算机应用基础》在线测试.doc
  14. 05- 防火墙用户管理
  15. adobe cs5 indesign 不显示文本框_Adobe CS5 InDesign自动添加页码
  16. python_pandas_xmind
  17. 常用手机uc浏览器兼容问题记录(陆续补充)
  18. 作为师兄,给电子信息相关毕业生的一些简历建议
  19. 【mac使用技巧】程序坞上的下载不见了该如何解决呢?
  20. 独家第一时间为你解密铁路12306手机客户端的开发技术

热门文章

  1. 【示例】智慧水利、水灾应急管理大屏模板精选
  2. python3 使用fasttext 进行文本分类(一定要用linux )
  3. 【贪心算法】买电影票
  4. “80后”的二代身份证该换了!
  5. 使用CentOS 7+lightdm+Openbox+Chromium打造单功能用途电脑(大屏展示电脑)
  6. C2 compiled引发的问题追踪
  7. 商业智能BI行业分析思维框架:铅酸蓄电池行业(一)
  8. 青龙-中青看点(拉库更新)
  9. 计算出租车费用问题python
  10. hackbar2.3.1解决许可证问题