计算机毕业设计 基于Web的课程设计选题管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
————————————————
计算机毕业设计《1000套》✌

 目录

1、项目介绍及开发技术

1.1 项目介绍

1.2 开发技术

2、系统功能设计结构图

3、功能截图

4、数据库表结构设计

5、关键代码

5.1 课题分类Controller模块 

5.2 课题分类Service模块 

5.3 课题分类ServiceImpl模块

5.4 课题分类Dao模块

6、论文目录结构

7、源码获取


1、项目介绍及开发技术

1.1 项目介绍

随着网络科技的不断发展以及人们经济水平的逐步提高,计算机如今已成为人们生活中不可缺少的一部分,为课程设计选题管理系统轻松便捷的管理信息,基于Web的课程设计选题系统实现了一款简洁、轻便的管理系统。本系统解决了课程设计选题管理系统管理事务中的主要问题,包括首页、个人中心、学生管理、教师管理、课题信息管理、课题分类管理、选题信息管理、系统管理等功能。

本系统采用了java语言的springboot框架,数据采用MySQL数据库进行存储。结合B/S模式进行开发设计,功能强大,界面化操作便于上手。本系统具有良好的易用性和安全性,系统功能齐全,可以满足课程设计选题管理系统管理的相关工作。

1.2 开发技术

Java开发语言、SpringBoot、MyBatisPlus、MySQL数据库、Maven、IDEA开发工具、JDK1.8+、Vue、HTML、CSS、JS。

2、系统功能设计结构图

 

3、功能截图

系统用户登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作。

管理员进入主页面,主要功能包括对首页、个人中心、学生管理、教师管理、课题信息管理、课题分类管理、选题信息管理、系统管理等进行操作。

管理员点击学生管理。在学生页面输入学号、班级和选择是否通过进行查询、新增或删除学生列表,并根据需要对学生详情信息进行详情、修改或删除操作。

管理员点击教师管理。在教师页面输入教师姓名、班级和选择是否通过进行查询、新增或删除教师列表,并根据需要对教师详情信息进行详情、修改或删除操作。

管理员点击课题信息管理。在课题信息页面输入课题名称、课题分类、选择难易程度和班级进行查询、删除、难易统计、课题人数或分类统计课题信息列表,并根据需要对课题详情信息进行详情、选题信息、修改、查看评论或删除操作。

管理员点击课题分类管理。在课题分类页面输入课题分类进行查询、新增或删除课题分类列表,并根据需要对课题分类详情信息进行修改或删除操作。

管理员点击选题信息管理。在选题信息页面输入课题编号、课题名称、课题分类和班级进行查询、新增、删除或打印选题信息列表,并根据需要对选题详情信息进行详情、修改或删除操作。

管理员点击系统管理。在校园资讯页面输入标题进行查询、新增或删除校园资讯列表,并根据需要对校园资讯详情信息进行详情、修改或删除操作。

4、数据库表结构设计

-- MySQL dump 10.13  Distrib 5.7.31, for Linux (x86_64)
--
-- Host: localhost    Database: springbootw9opl
-- ------------------------------------------------------
-- Server version	5.7.31/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;--
-- Current Database: `springbootw9opl`
--/*!40000 DROP DATABASE IF EXISTS `springbootw9opl`*/;CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springbootw9opl` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;USE `springbootw9opl`;--
-- Table structure for table `config`
--DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(100) NOT NULL COMMENT '配置参数名称',`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `config`
--LOCK TABLES `config` WRITE;
/*!40000 ALTER TABLE `config` DISABLE KEYS */;
INSERT INTO `config` VALUES (1,'picture1','upload/picture1.jpg'),(2,'picture2','upload/picture2.jpg'),(3,'picture3','upload/picture3.jpg');
/*!40000 ALTER TABLE `config` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `discussketixinxi`
--DROP TABLE IF EXISTS `discussketixinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `discussketixinxi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`refid` bigint(20) NOT NULL COMMENT '关联表id',`userid` bigint(20) NOT NULL COMMENT '用户id',`nickname` varchar(200) DEFAULT NULL COMMENT '用户名',`content` longtext NOT NULL COMMENT '评论内容',`reply` longtext COMMENT '回复内容',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='课题信息评论表';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `discussketixinxi`
--LOCK TABLES `discussketixinxi` WRITE;
/*!40000 ALTER TABLE `discussketixinxi` DISABLE KEYS */;
/*!40000 ALTER TABLE `discussketixinxi` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `jiaoshi`
--DROP TABLE IF EXISTS `jiaoshi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `jiaoshi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`jiaoshigonghao` varchar(200) DEFAULT NULL COMMENT '教师工号',`mima` varchar(200) DEFAULT NULL COMMENT '密码',`jiaoshixingming` varchar(200) DEFAULT NULL COMMENT '教师姓名',`zhaopian` longtext COMMENT '照片',`nianling` varchar(200) DEFAULT NULL COMMENT '年龄',`zili` varchar(200) DEFAULT NULL COMMENT '资历',`lianxifangshi` varchar(200) DEFAULT NULL COMMENT '联系方式',`xueyuan` varchar(200) DEFAULT NULL COMMENT '学院',`banji` varchar(200) DEFAULT NULL COMMENT '班级',`sfsh` varchar(200) DEFAULT '待审核' COMMENT '是否审核',`shhf` longtext COMMENT '审核回复',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 COMMENT='教师';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `jiaoshi`
--LOCK TABLES `jiaoshi` WRITE;
/*!40000 ALTER TABLE `jiaoshi` DISABLE KEYS */;
INSERT INTO `jiaoshi` VALUES (21,'2023-02-08 12:16:01','教师工号1','123456','教师姓名1','upload/jiaoshi_zhaopian1.jpg','年龄1','资历1','13823888881','学院1','班级1','是',''),(22,'2023-02-08 12:16:01','教师工号2','123456','教师姓名2','upload/jiaoshi_zhaopian2.jpg','年龄2','资历2','13823888882','学院2','班级2','是',''),(23,'2023-02-08 12:16:01','教师工号3','123456','教师姓名3','upload/jiaoshi_zhaopian3.jpg','年龄3','资历3','13823888883','学院3','班级3','是',''),(24,'2023-02-08 12:16:01','教师工号4','123456','教师姓名4','upload/jiaoshi_zhaopian4.jpg','年龄4','资历4','13823888884','学院4','班级4','是',''),(25,'2023-02-08 12:16:01','教师工号5','123456','教师姓名5','upload/jiaoshi_zhaopian5.jpg','年龄5','资历5','13823888885','学院5','班级5','是',''),(26,'2023-02-08 12:16:01','教师工号6','123456','教师姓名6','upload/jiaoshi_zhaopian6.jpg','年龄6','资历6','13823888886','学院6','班级6','是',''),(27,'2023-02-08 12:16:01','教师工号7','123456','教师姓名7','upload/jiaoshi_zhaopian7.jpg','年龄7','资历7','13823888887','学院7','班级7','是',''),(28,'2023-02-08 12:16:01','教师工号8','123456','教师姓名8','upload/jiaoshi_zhaopian8.jpg','年龄8','资历8','13823888888','学院8','班级8','是','');
/*!40000 ALTER TABLE `jiaoshi` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `ketifenlei`
--DROP TABLE IF EXISTS `ketifenlei`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `ketifenlei` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`ketifenlei` varchar(200) DEFAULT NULL COMMENT '课题分类',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8 COMMENT='课题分类';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `ketifenlei`
--LOCK TABLES `ketifenlei` WRITE;
/*!40000 ALTER TABLE `ketifenlei` DISABLE KEYS */;
INSERT INTO `ketifenlei` VALUES (41,'2023-02-08 12:16:01','课题分类1'),(42,'2023-02-08 12:16:01','课题分类2'),(43,'2023-02-08 12:16:01','课题分类3'),(44,'2023-02-08 12:16:01','课题分类4'),(45,'2023-02-08 12:16:01','课题分类5'),(46,'2023-02-08 12:16:01','课题分类6'),(47,'2023-02-08 12:16:01','课题分类7'),(48,'2023-02-08 12:16:01','课题分类8');
/*!40000 ALTER TABLE `ketifenlei` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `ketixinxi`
--DROP TABLE IF EXISTS `ketixinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `ketixinxi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`ketibianhao` varchar(200) DEFAULT NULL COMMENT '课题编号',`ketimingcheng` varchar(200) DEFAULT NULL COMMENT '课题名称',`ketifenlei` varchar(200) DEFAULT NULL COMMENT '课题分类',`nanyichengdu` varchar(200) DEFAULT NULL COMMENT '难易程度',`renshu` int(11) DEFAULT NULL COMMENT '人数',`faburiqi` date DEFAULT NULL COMMENT '发布日期',`jiaoshigonghao` varchar(200) DEFAULT NULL COMMENT '教师工号',`jiaoshixingming` varchar(200) DEFAULT NULL COMMENT '教师姓名',`xueyuan` varchar(200) DEFAULT NULL COMMENT '学院',`banji` varchar(200) DEFAULT NULL COMMENT '班级',`timumiaoshu` longtext COMMENT '题目描述',`thumbsupnum` int(11) DEFAULT '0' COMMENT '赞',`crazilynum` int(11) DEFAULT '0' COMMENT '踩',`clicktime` datetime DEFAULT NULL COMMENT '最近点击时间',PRIMARY KEY (`id`),UNIQUE KEY `ketibianhao` (`ketibianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8 COMMENT='课题信息';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `ketixinxi`
--LOCK TABLES `ketixinxi` WRITE;
/*!40000 ALTER TABLE `ketixinxi` DISABLE KEYS */;
INSERT INTO `ketixinxi` VALUES (31,'2023-02-08 12:16:01','1111111111','课题名称1','课题分类1','容易',1,'2023-02-08','教师工号1','教师姓名1','学院1','班级1','题目描述1',1,1,'2023-02-08 20:16:01'),(32,'2023-02-08 12:16:01','2222222222','课题名称2','课题分类2','容易',2,'2023-02-08','教师工号2','教师姓名2','学院2','班级2','题目描述2',2,2,'2023-02-08 20:16:01'),(33,'2023-02-08 12:16:01','3333333333','课题名称3','课题分类3','容易',3,'2023-02-08','教师工号3','教师姓名3','学院3','班级3','题目描述3',3,3,'2023-02-08 20:16:01'),(34,'2023-02-08 12:16:01','4444444444','课题名称4','课题分类4','容易',4,'2023-02-08','教师工号4','教师姓名4','学院4','班级4','题目描述4',4,4,'2023-02-08 20:16:01'),(35,'2023-02-08 12:16:01','5555555555','课题名称5','课题分类5','容易',5,'2023-02-08','教师工号5','教师姓名5','学院5','班级5','题目描述5',5,5,'2023-02-08 20:16:01'),(36,'2023-02-08 12:16:01','6666666666','课题名称6','课题分类6','容易',6,'2023-02-08','教师工号6','教师姓名6','学院6','班级6','题目描述6',6,6,'2023-02-08 20:16:01'),(37,'2023-02-08 12:16:01','7777777777','课题名称7','课题分类7','容易',7,'2023-02-08','教师工号7','教师姓名7','学院7','班级7','题目描述7',7,7,'2023-02-08 20:16:01'),(38,'2023-02-08 12:16:01','8888888888','课题名称8','课题分类8','容易',8,'2023-02-08','教师工号8','教师姓名8','学院8','班级8','题目描述8',8,8,'2023-02-08 20:16:01');
/*!40000 ALTER TABLE `ketixinxi` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `news`
--DROP TABLE IF EXISTS `news`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `news` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`title` varchar(200) NOT NULL COMMENT '标题',`introduction` longtext COMMENT '简介',`picture` longtext NOT NULL COMMENT '图片',`content` longtext NOT NULL COMMENT '内容',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8 COMMENT='校园资讯';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `news`
--LOCK TABLES `news` WRITE;
/*!40000 ALTER TABLE `news` DISABLE KEYS */;
INSERT INTO `news` VALUES (71,'2023-02-08 12:16:01','有梦想,就要努力去实现','不管你想要怎样的生活,你都要去努力争取,不多尝试一些事情怎么知道自己适合什么、不适合什么呢?你说你喜欢读书,让我给你列书单,你还问我哪里有那么多时间看书;你说自己梦想的职业是广告文案,问我如何成为一个文案,应该具备哪些素质;你说你计划晨跑,但总是因为学习、工作辛苦或者身体不舒服第二天起不了床;你说你一直梦想一个人去长途旅行,但是没钱,父母觉得危险。','upload/news_picture1.jpg','<p>不管你想要怎样的生活,你都要去努力争取,不多尝试一些事情怎么知道自己适合什么、不适合什么呢?</p><p>你说你喜欢读书,让我给你列书单,你还问我哪里有那么多时间看书;你说自己梦想的职业是广告文案,问我如何成为一个文案,应该具备哪些素质;你说你计划晨跑,但总是因为学习、工作辛苦或者身体不舒服第二天起不了床;你说你一直梦想一个人去长途旅行,但是没钱,父母觉得危险。其实,我已经厌倦了你这样说说而已的把戏,我觉得就算我告诉你如何去做,你也不会照做,因为你根本什么都不做。</p><p>真正有行动力的人不需要别人告诉他如何做,因为他已经在做了。就算碰到问题,他也会自己想办法,自己动手去解决或者主动寻求可以帮助他的人,而不是等着别人为自己解决问题。</p><p>首先要学习独立思考。花一点时间想一下自己喜欢什么,梦想是什么,不要别人说想环游世界,你就说你的梦想是环游世界。</p><p>很多人说现实束缚了自己,其实在这个世界上,我们一直都可以有很多选择,生活的决定权也—直都在自己手上,只是我们缺乏行动力而已。</p><p>如果你觉得安于现状是你想要的,那选择安于现状就会让你幸福和满足;如果你不甘平庸,选择一条改变、进取和奋斗的道路,在这个追求的过程中,你也一样会感到快乐。所谓的成功,即是按照自己想要的生活方式生活。最糟糕的状态,莫过于当你想要选择一条不甘平庸、改变、进取和奋斗的道路时,却以一种安于现状的方式生活,最后抱怨自己没有得到想要的人生。</p><p>因为喜欢,你不是在苦苦坚持,也因为喜欢,你愿意投入时间、精力,长久以往,获得成功就是自然而然的事情。</p>'),(72,'2023-02-08 12:16:01','又是一年毕业季','又是一年毕业季,感慨万千,还记的自己刚进学校那时候的情景,我拖着沉重的行李箱站在偌大的教学楼前面,感叹自己未来的日子即将在这个陌生的校园里度过,而如今斗转星移,浮光掠影,弹指之间,那些青葱岁月如同白驹过隙般悄然从指缝溜走。过去的种种在胸口交集纠结,像打翻的五味瓶,甜蜜,酸楚,苦涩,一并涌上心头。','upload/news_picture2.jpg','<p>又是一年毕业季,感慨万千,还记的自己刚进学校那时候的情景,我拖着沉重的行李箱站在偌大的教学楼前面,感叹自己未来的日子即将在这个陌生的校园里度过,而如今斗转星移,浮光掠影,弹指之间,那些青葱岁月如同白驹过隙般悄然从指缝溜走。</p><p>过去的种种在胸口交集纠结,像打翻的五味瓶,甜蜜,酸楚,苦涩,一并涌上心头。一直都是晚会的忠实参与者,无论是台前还是幕后,忽然间,角色转变,那种感觉确实难以用语言表达。</p><p>	过去的三年,总是默默地期盼着这个好雨时节,因为这时候,会有灿烂的阳光,会有满目的百花争艳,会有香甜的冰激凌,这是个毕业的季节,当时不经世事的我们会殷切地期待学校那一大堆的活动,期待穿上绚丽的演出服或者礼仪服,站在大礼堂镁光灯下尽情挥洒我们的澎拜的激情。</p><p>百感交集,隔岸观火与身临其境的感觉竟是如此不同。从来没想过一场晚会送走的是我们自己的时候会是怎样的感情,毕业就真的意味着结束吗?倔强的我们不愿意承认,谢谢学弟学妹们慷慨的将这次的主题定为“我们在这里”。我知道,这可能是他们对我们这些过来人的尊敬和施舍。</p><p>没有为这场晚会排练、奔波,没有为班级、学生会、文学院出点力,还真有点不习惯,百般无奈中,用“工作忙”个万能的借口来搪塞自己,欺骗别人。其实自己心里明白,那只是在逃避,只是不愿面对繁华落幕后的萧条和落寞。大四了,大家各奔东西,想凑齐班上的人真的是难上加难,敏燕从越南回来,刚落地就匆匆回了学校,那么恋家的人也启程回来了,睿睿学姐也是从家赶来跟我们团圆。大家—如既往的寒暄、打趣、调侃对方,似乎一切又回到了当初的单纯美好。</p><p>看着舞台上活泼可爱的学弟学妹们,如同一群机灵的小精灵,清澈的眼神,稚嫩的肢体,轻快地步伐,用他们那热情洋溢的舞姿渲染着在场的每一个人,我知道,我不应该羡慕嫉妒他们,不应该顾自怜惜逝去的青春,不应该感叹夕阳无限好,曾经,我们也拥有过,曾经,我们也年轻过,曾经,我们也灿烂过。我深深地告诉自己,人生的每个阶段都是美的,年轻有年轻的活力,成熟也有成熟的魅力。多—份稳重、淡然、优雅,也是漫漫时光掠影遗留下的.珍贵赏赐。</p>'),(73,'2023-02-08 12:16:01','挫折路上,坚持常在心间','回头看看,你会不会发现,曾经的你在这里摔倒过;回头看看,你是否发现,一次次地重复着,却从没爬起过。而如今,让我们把视线转向前方,那一道道金色的弧线,是流星飞逝的痕迹,或是成功运行的轨道。今天的你,是否要扬帆起航,让幸福来敲门?清晨的太阳撒向大地,神奇的宇宙赋予它神奇的色彩,大自然沐浴着春光,世界因太阳的照射而精彩,林中百鸟啾啾,河水轻轻流淌,汇成清宁的山间小调。','upload/news_picture3.jpg','<p>回头看看,你会不会发现,曾经的你在这里摔倒过;回头看看,你是否发现,一次次地重复着,却从没爬起过。而如今,让我们把视线转向前方,那一道道金色的弧线,是流星飞逝的痕迹,或是成功运行的轨道。今天的你,是否要扬帆起航,让幸福来敲门?</p><p>清晨的太阳撒向大地,神奇的宇宙赋予它神奇的色彩,大自然沐浴着春光,世界因太阳的照射而精彩,林中百鸟啾啾,河水轻轻流淌,汇成清宁的山间小调。</p><p>是的,面对道途上那无情的嘲讽,面对步伐中那重复的摔跤,面对激流与硬石之间猛烈的碰撞,我们必须选择那富于阴雨,却最终见到彩虹的荆棘路。也许,经历了那暴风雨的洗礼,我们便会变得自信,幸福也随之而来。</p><p>司马迁屡遭羞辱,却依然在狱中撰写《史记》,作为一名史学家,不因王权而极度赞赏,也不因卑微而极度批判,然而他在坚持自己操守的同时,却依然要受统治阶级的阻碍,他似乎无权选择自己的本职。但是,他不顾于此,只是在面对道途的阻隔之时,他依然选择了走下去的信念。终于一部开山巨作《史记》诞生,为后人留下一份馈赠,也许在他完成毕生的杰作之时,他微微地笑了,没有什么比梦想实现更快乐的了......</p><p>	或许正如“长风破浪会有时,直挂云帆济沧海”一般,欣欣然地走向看似深渊的崎岖路,而在一番耕耘之后,便会发现这里另有一番天地。也许这就是困难与快乐的交融。</p><p>也许在形形色色的社会中,我们常能看到一份坚持,一份自信,但这里却还有一类人。这类人在暴风雨来临之际,只会闪躲,从未懂得这也是一种历炼,这何尝不是一份快乐。在阴暗的角落里,总是独自在哭,带着伤愁,看不到一点希望。</p><p>我们不能堕落于此,而要像海燕那般,在苍茫的大海上,高傲地飞翔,任何事物都无法阻挡,任何事都是幸福快乐的。</p>'),(74,'2023-02-08 12:16:01','挫折是另一个生命的开端','当遇到挫折或失败,你是看见失败还是看见机会?挫折是我们每个人成长的必经之路,它不是你想有就有,想没有就没有的。有句名言说的好,如果你想一生摆脱苦难,你就得是神或者是死尸。这句话形象地说明了挫折是伴随着人生的,是谁都逃不掉的。','upload/news_picture4.jpg','<p>当遇到挫折或失败,你是看见失败还是看见机会?</p><p>挫折是我们每个人成长的必经之路,它不是你想有就有,想没有就没有的。有句名言说的好,如果你想一生摆脱苦难,你就得是神或者是死尸。这句话形象地说明了挫折是伴随着人生的,是谁都逃不掉的。</p><p>人生在世,从古到今,不分天子平民,机遇虽有不同,但总不免有身陷困境或遭遇难题之处,这时候唯有通权达变,才能使人转危为安,甚至反败为胜。</p><p>大部分的人,一生当中,最痛苦的经验是失去所爱的人,其次是丢掉一份工作。其实,经得起考验的人,就算是被开除也不会惊慌,要学会面对。</p><p>	“塞翁失马,焉知非福。”人生的道路,并不是每一步都迈向成功,这就是追求的意义。我们还要认识到一点,挫折作为一种情绪状态和一种个人体验,各人的耐受性是大不相同的,有的人经历了一次次挫折,就能够坚忍不拔,百折不挠;有的人稍遇挫折便意志消沉,一蹶不振。所以,挫折感是一种主观感受,因为人的目的和需要不同,成功标准不同,所以同一种活动对于不同的人可能会造成不同的挫折感受。</p><p>凡事皆以平常心来看待,对于生命顺逆不要太执著。能够“破我执”是很高层的人生境界。</p><p>人事的艰难就是一种考验。就像—支剑要有磨刀来磨,剑才会利:一块璞玉要有粗石来磨,才会发出耀眼的光芒。我们能够做到的,只是如何减少、避免那些由于自身的原因所造成的挫折,而在遇到痛苦和挫折之后,则力求化解痛苦,争取幸福。我们要知道,痛苦和挫折是双重性的,它既是我们人生中难以完全避免的,也是我们在争取成功时,不可缺少的一种动力。因为我认为,推动我们奋斗的力量,不仅仅是对成功的渴望,还有为摆脱痛苦和挫折而进行的奋斗。</p>'),(75,'2023-02-08 12:16:01','你要去相信,没有到不了的明天','有梦想就去努力,因为在这一辈子里面,现在不去勇敢的努力,也许就再也没有机会了。你要去相信,一定要相信,没有到不了的明天。不要被命运打败,让自己变得更强大。不管你现在是一个人走在异乡的街道上始终没有找到一丝归属感,还是你在跟朋友们一起吃饭开心址笑着的时候闪过一丝落寞。','upload/news_picture5.jpg','<p>有梦想就去努力,因为在这一辈子里面,现在不去勇敢的努力,也许就再也没有机会了。你要去相信,一定要相信,没有到不了的明天。不要被命运打败,让自己变得更强大。</p><p>不管你现在是一个人走在异乡的街道上始终没有找到一丝归属感,还是你在跟朋友们一起吃饭开心址笑着的时候闪过一丝落寞。</p><p>	不管你现在是在图书馆里背着怎么也看不进去的英语单词,还是你现在迷茫地看不清未来的方向不知道要往哪走。</p><p>不管你现在是在努力着去实现梦想却没能拉近与梦想的距离,还是你已经慢慢地找不到自己的梦想了。</p><p>你都要去相信,没有到不了的明天。</p><p>	有的时候你的梦想太大,别人说你的梦想根本不可能实现;有的时候你的梦想又太小,又有人说你胸无大志;有的时候你对死党说着将来要去环游世界的梦想,却换来他的不屑一顾,于是你再也不提自己的梦想;有的时候你突然说起将来要开个小店的愿望,却发现你讲述的那个人,并没有听到你在说什么。</p><p>不过又能怎么样呢,未来始终是自己的,梦想始终是自己的,没有人会来帮你实现它。</p><p>也许很多时候我们只是需要朋友的一句鼓励,一句安慰,却也得不到。但是相信我,世界上还有很多人,只是想要和你说说话。</p><p>因为我们都一样。一样的被人说成固执,一样的在追逐他们眼里根本不在意的东西。</p><p>所以,又有什么关系呢,别人始终不是你、不能懂你的心情,你又何必多去解释呢。这个世界会来阻止你,困难也会接踵而至,其实真正关键的只有自己,有没有那个倔强。</p><p>这个世界上没有不带伤的人,真正能治愈自己的,只有自己。</p>'),(76,'2023-02-08 12:16:01','离开是一种痛苦,是一种勇气,但同样也是一个考验,是一个新的开端','无穷无尽是离愁,天涯海角遍寻思。当离别在即之时,当面对着相濡以沫兄弟般的朋友时,当面对着经历了四年的磨合而形成的真挚友谊之时,我内心激动无语,说一声再见,道一声珍重都很难出口。回想自己四年大学的风风雨雨,回想我们曾经共同经历的岁月流年,我感谢大家的相扶相依,感谢朋友们的莫大支持与帮助。虽然舍不得,但离别的脚步却不因我们的挚情而停滞。','upload/news_picture6.jpg','<p>无穷无尽是离愁,天涯海角遍寻思。当离别在即之时,当面对着相濡以沫兄弟般的朋友时,当面对着经历了四年的磨合而形成的真挚友谊之时,我内心激动无语,说一声再见,道一声珍重都很难出口。回想自己四年大学的风风雨雨,回想我们曾经共同经历的岁月流年,我感谢大家的相扶相依,感谢朋友们的莫大支持与帮助。虽然舍不得,但离别的脚步却不因我们的挚情而停滞。离别的确是一种痛苦,但同样也是我们走入社会,走向新环境、新领域的一个开端,希望大家在以后新的工作岗位上能够确定自己的新起点,坚持不懈,向着更新、更高的目标前进,因为人生最美好的东西永远都在最前方!</p><p>忆往昔峥嵘岁月,看今朝潮起潮落,望未来任重而道远。作为新时代的我们,就应在失败时,能拼搏奋起,去谱写人生的辉煌。在成功时,亦能居安思危,不沉湎于一时的荣耀、鲜花和掌声中,时时刻刻怀着一颗积极寻找自己新的奶酪的心,处变不惊、成败不渝,始终踏着自己坚实的步伐,从零开始,不断向前迈进,这样才能在这风起云涌、变幻莫测的社会大潮中成为真正的弄潮儿!</p>'),(77,'2023-02-08 12:16:01','Leave未必是一种痛苦','无穷无尽是离愁,天涯海角遍寻思。当离别在即之时,当面对着相濡以沫兄弟般的朋友时,当面对着经历了四年的磨合而形成的真挚友谊之时,我内心激动无语,说一声再见,道一声珍重都很难出口。回想自己四年大学的风风雨雨,回想我们曾经共同经历的岁月流年,我感谢大家的相扶相依,感谢朋友们的莫大支持与帮助。虽然舍不得,但离别的脚步却不因我们的挚情而停滞。','upload/news_picture7.jpg','<p>无穷无尽是离愁,天涯海角遍寻思。当离别在即之时,当面对着相濡以沫兄弟般的朋友时,当面对着经历了四年的磨合而形成的真挚友谊之时,我内心激动无语,说一声再见,道一声珍重都很难出口。回想自己四年大学的风风雨雨,回想我们曾经共同经历的岁月流年,我感谢大家的相扶相依,感谢朋友们的莫大支持与帮助。虽然舍不得,但离别的脚步却不因我们的挚情而停滞。离别的确是一种痛苦,但同样也是我们走入社会,走向新环境、新领域的一个开端,希望大家在以后新的工作岗位上能够确定自己的新起点,坚持不懈,向着更新、更高的目标前进,因为人生最美好的东西永远都在最前方!</p><p>忆往昔峥嵘岁月,看今朝潮起潮落,望未来任重而道远。作为新时代的我们,就应在失败时,能拼搏奋起,去谱写人生的辉煌。在成功时,亦能居安思危,不沉湎于一时的荣耀、鲜花和掌声中,时时刻刻怀着一颗积极寻找自己新的奶酪的心,处变不惊、成败不渝,始终踏着自己坚实的步伐,从零开始,不断向前迈进,这样才能在这风起云涌、变幻莫测的社会大潮中成为真正的弄潮儿!</p>'),(78,'2023-02-08 12:16:01','坚持才会成功','回头看看,你会不会发现,曾经的你在这里摔倒过;回头看看,你是否发现,一次次地重复着,却从没爬起过。而如今,让我们把视线转向前方,那一道道金色的弧线,是流星飞逝的痕迹,或是成功运行的轨道。今天的你,是否要扬帆起航,让幸福来敲门?清晨的太阳撒向大地,神奇的宇宙赋予它神奇的色彩,大自然沐浴着春光,世界因太阳的照射而精彩,林中百鸟啾啾,河水轻轻流淌,汇成清宁的山间小调。','upload/news_picture8.jpg','<p>回头看看,你会不会发现,曾经的你在这里摔倒过;回头看看,你是否发现,一次次地重复着,却从没爬起过。而如今,让我们把视线转向前方,那一道道金色的弧线,是流星飞逝的痕迹,或是成功运行的轨道。今天的你,是否要扬帆起航,让幸福来敲门?</p><p>清晨的太阳撒向大地,神奇的宇宙赋予它神奇的色彩,大自然沐浴着春光,世界因太阳的照射而精彩,林中百鸟啾啾,河水轻轻流淌,汇成清宁的山间小调。</p><p>是的,面对道途上那无情的嘲讽,面对步伐中那重复的摔跤,面对激流与硬石之间猛烈的碰撞,我们必须选择那富于阴雨,却最终见到彩虹的荆棘路。也许,经历了那暴风雨的洗礼,我们便会变得自信,幸福也随之而来。</p><p>司马迁屡遭羞辱,却依然在狱中撰写《史记》,作为一名史学家,不因王权而极度赞赏,也不因卑微而极度批判,然而他在坚持自己操守的同时,却依然要受统治阶级的阻碍,他似乎无权选择自己的本职。但是,他不顾于此,只是在面对道途的阻隔之时,他依然选择了走下去的信念。终于一部开山巨作《史记》诞生,为后人留下一份馈赠,也许在他完成毕生的杰作之时,他微微地笑了,没有什么比梦想实现更快乐的了......</p><p>	或许正如“长风破浪会有时,直挂云帆济沧海”一般,欣欣然地走向看似深渊的崎岖路,而在一番耕耘之后,便会发现这里另有一番天地。也许这就是困难与快乐的交融。</p><p>也许在形形色色的社会中,我们常能看到一份坚持,一份自信,但这里却还有一类人。这类人在暴风雨来临之际,只会闪躲,从未懂得这也是一种历炼,这何尝不是一份快乐。在阴暗的角落里,总是独自在哭,带着伤愁,看不到一点希望。</p><p>我们不能堕落于此,而要像海燕那般,在苍茫的大海上,高傲地飞翔,任何事物都无法阻挡,任何事都是幸福快乐的。</p>');
/*!40000 ALTER TABLE `news` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `storeup`
--DROP TABLE IF EXISTS `storeup`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `storeup` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`userid` bigint(20) NOT NULL COMMENT '用户id',`refid` bigint(20) DEFAULT NULL COMMENT '商品id',`tablename` varchar(200) DEFAULT NULL COMMENT '表名',`name` varchar(200) NOT NULL COMMENT '名称',`picture` longtext NOT NULL COMMENT '图片',`type` varchar(200) DEFAULT '1' COMMENT '类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注)',`inteltype` varchar(200) DEFAULT NULL COMMENT '推荐类型',`remark` varchar(200) DEFAULT NULL COMMENT '备注',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='收藏表';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `storeup`
--LOCK TABLES `storeup` WRITE;
/*!40000 ALTER TABLE `storeup` DISABLE KEYS */;
/*!40000 ALTER TABLE `storeup` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `token`
--DROP TABLE IF EXISTS `token`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `token` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`userid` bigint(20) NOT NULL COMMENT '用户id',`username` varchar(100) NOT NULL COMMENT '用户名',`tablename` varchar(100) DEFAULT NULL COMMENT '表名',`role` varchar(100) DEFAULT NULL COMMENT '角色',`token` varchar(200) NOT NULL COMMENT '密码',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',`expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='token表';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `token`
--LOCK TABLES `token` WRITE;
/*!40000 ALTER TABLE `token` DISABLE KEYS */;
/*!40000 ALTER TABLE `token` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `users`
--DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(100) NOT NULL COMMENT '用户名',`password` varchar(100) NOT NULL COMMENT '密码',`role` varchar(100) DEFAULT '管理员' COMMENT '角色',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户表';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `users`
--LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'admin','admin','管理员','2023-02-08 12:16:01');
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `xuantixinxi`
--DROP TABLE IF EXISTS `xuantixinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `xuantixinxi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`ketibianhao` varchar(200) DEFAULT NULL COMMENT '课题编号',`ketimingcheng` varchar(200) DEFAULT NULL COMMENT '课题名称',`ketifenlei` varchar(200) DEFAULT NULL COMMENT '课题分类',`nanyichengdu` varchar(200) DEFAULT NULL COMMENT '难易程度',`renshu` varchar(200) NOT NULL COMMENT '人数',`jiaoshigonghao` varchar(200) DEFAULT NULL COMMENT '教师工号',`jiaoshixingming` varchar(200) DEFAULT NULL COMMENT '教师姓名',`xuehao` varchar(200) DEFAULT NULL COMMENT '学号',`xueshengxingming` varchar(200) DEFAULT NULL COMMENT '学生姓名',`banji` varchar(200) DEFAULT NULL COMMENT '班级',`zhuanye` varchar(200) DEFAULT NULL COMMENT '专业',`riqi` date DEFAULT NULL COMMENT '日期',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COMMENT='选题信息';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `xuantixinxi`
--LOCK TABLES `xuantixinxi` WRITE;
/*!40000 ALTER TABLE `xuantixinxi` DISABLE KEYS */;
INSERT INTO `xuantixinxi` VALUES (51,'2023-02-08 12:16:01','课题编号1','课题名称1','课题分类1','难易程度1','1','教师工号1','教师姓名1','学号1','学生姓名1','班级1','专业1','2023-02-08'),(52,'2023-02-08 12:16:01','课题编号2','课题名称2','课题分类2','难易程度2','1','教师工号2','教师姓名2','学号2','学生姓名2','班级2','专业2','2023-02-08'),(53,'2023-02-08 12:16:01','课题编号3','课题名称3','课题分类3','难易程度3','1','教师工号3','教师姓名3','学号3','学生姓名3','班级3','专业3','2023-02-08'),(54,'2023-02-08 12:16:01','课题编号4','课题名称4','课题分类4','难易程度4','1','教师工号4','教师姓名4','学号4','学生姓名4','班级4','专业4','2023-02-08'),(55,'2023-02-08 12:16:01','课题编号5','课题名称5','课题分类5','难易程度5','1','教师工号5','教师姓名5','学号5','学生姓名5','班级5','专业5','2023-02-08'),(56,'2023-02-08 12:16:01','课题编号6','课题名称6','课题分类6','难易程度6','1','教师工号6','教师姓名6','学号6','学生姓名6','班级6','专业6','2023-02-08'),(57,'2023-02-08 12:16:01','课题编号7','课题名称7','课题分类7','难易程度7','1','教师工号7','教师姓名7','学号7','学生姓名7','班级7','专业7','2023-02-08'),(58,'2023-02-08 12:16:01','课题编号8','课题名称8','课题分类8','难易程度8','1','教师工号8','教师姓名8','学号8','学生姓名8','班级8','专业8','2023-02-08');
/*!40000 ALTER TABLE `xuantixinxi` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `xuesheng`
--DROP TABLE IF EXISTS `xuesheng`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `xuesheng` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`xuehao` varchar(200) NOT NULL COMMENT '学号',`mima` varchar(200) NOT NULL COMMENT '密码',`xueshengxingming` varchar(200) NOT NULL COMMENT '学生姓名',`touxiang` longtext COMMENT '头像',`xingbie` varchar(200) DEFAULT NULL COMMENT '性别',`shouji` varchar(200) DEFAULT NULL COMMENT '手机',`banji` varchar(200) DEFAULT NULL COMMENT '班级',`zhuanye` varchar(200) DEFAULT NULL COMMENT '专业',`xueyuan` varchar(200) DEFAULT NULL COMMENT '学院',`sfsh` varchar(200) DEFAULT '待审核' COMMENT '是否审核',`shhf` longtext COMMENT '审核回复',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='学生';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `xuesheng`
--LOCK TABLES `xuesheng` WRITE;
/*!40000 ALTER TABLE `xuesheng` DISABLE KEYS */;
INSERT INTO `xuesheng` VALUES (11,'2023-02-08 12:16:01','学号1','123456','学生姓名1','upload/xuesheng_touxiang1.jpg','男','13823888881','班级1','专业1','学院1','是',''),(12,'2023-02-08 12:16:01','学号2','123456','学生姓名2','upload/xuesheng_touxiang2.jpg','男','13823888882','班级2','专业2','学院2','是',''),(13,'2023-02-08 12:16:01','学号3','123456','学生姓名3','upload/xuesheng_touxiang3.jpg','男','13823888883','班级3','专业3','学院3','是',''),(14,'2023-02-08 12:16:01','学号4','123456','学生姓名4','upload/xuesheng_touxiang4.jpg','男','13823888884','班级4','专业4','学院4','是',''),(15,'2023-02-08 12:16:01','学号5','123456','学生姓名5','upload/xuesheng_touxiang5.jpg','男','13823888885','班级5','专业5','学院5','是',''),(16,'2023-02-08 12:16:01','学号6','123456','学生姓名6','upload/xuesheng_touxiang6.jpg','男','13823888886','班级6','专业6','学院6','是',''),(17,'2023-02-08 12:16:01','学号7','123456','学生姓名7','upload/xuesheng_touxiang7.jpg','男','13823888887','班级7','专业7','学院7','是',''),(18,'2023-02-08 12:16:01','学号8','123456','学生姓名8','upload/xuesheng_touxiang8.jpg','男','13823888888','班级8','专业8','学院8','是','');
/*!40000 ALTER TABLE `xuesheng` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;-- Dump completed on 

5、关键代码

5.1 课题分类Controller模块 

package com.controller;import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.KetifenleiEntity;
import com.entity.view.KetifenleiView;import com.service.KetifenleiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;/*** 课题分类* 后端接口* @author * @email * @date */
@RestController
@RequestMapping("/ketifenlei")
public class KetifenleiController {@Autowiredprivate KetifenleiService ketifenleiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,KetifenleiEntity ketifenlei,HttpServletRequest request){EntityWrapper<KetifenleiEntity> ew = new EntityWrapper<KetifenleiEntity>();PageUtils page = ketifenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, ketifenlei), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,KetifenleiEntity ketifenlei, HttpServletRequest request){EntityWrapper<KetifenleiEntity> ew = new EntityWrapper<KetifenleiEntity>();PageUtils page = ketifenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, ketifenlei), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( KetifenleiEntity ketifenlei){EntityWrapper<KetifenleiEntity> ew = new EntityWrapper<KetifenleiEntity>();ew.allEq(MPUtil.allEQMapPre( ketifenlei, "ketifenlei")); return R.ok().put("data", ketifenleiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(KetifenleiEntity ketifenlei){EntityWrapper< KetifenleiEntity> ew = new EntityWrapper< KetifenleiEntity>();ew.allEq(MPUtil.allEQMapPre( ketifenlei, "ketifenlei")); KetifenleiView ketifenleiView =  ketifenleiService.selectView(ew);return R.ok("查询课题分类成功").put("data", ketifenleiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){KetifenleiEntity ketifenlei = ketifenleiService.selectById(id);return R.ok().put("data", ketifenlei);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){KetifenleiEntity ketifenlei = ketifenleiService.selectById(id);return R.ok().put("data", ketifenlei);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody KetifenleiEntity ketifenlei, HttpServletRequest request){ketifenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(ketifenlei);ketifenleiService.insert(ketifenlei);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody KetifenleiEntity ketifenlei, HttpServletRequest request){ketifenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(ketifenlei);ketifenleiService.insert(ketifenlei);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody KetifenleiEntity ketifenlei, HttpServletRequest request){//ValidatorUtils.validateEntity(ketifenlei);ketifenleiService.updateById(ketifenlei);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){ketifenleiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<KetifenleiEntity> wrapper = new EntityWrapper<KetifenleiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = ketifenleiService.selectCount(wrapper);return R.ok().put("count", count);}
}

5.2 课题分类Service模块 

package com.service;import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.KetifenleiEntity;
import java.util.List;
import java.util.Map;
import com.entity.vo.KetifenleiVO;
import org.apache.ibatis.annotations.Param;
import com.entity.view.KetifenleiView;/*** 课题分类** @author * @email * @date */
public interface KetifenleiService extends IService<KetifenleiEntity> {PageUtils queryPage(Map<String, Object> params);List<KetifenleiVO> selectListVO(Wrapper<KetifenleiEntity> wrapper);KetifenleiVO selectVO(@Param("ew") Wrapper<KetifenleiEntity> wrapper);List<KetifenleiView> selectListView(Wrapper<KetifenleiEntity> wrapper);KetifenleiView selectView(@Param("ew") Wrapper<KetifenleiEntity> wrapper);PageUtils queryPage(Map<String, Object> params,Wrapper<KetifenleiEntity> wrapper);}

5.3 课题分类ServiceImpl模块

package com.service.impl;import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;import com.dao.KetifenleiDao;
import com.entity.KetifenleiEntity;
import com.service.KetifenleiService;
import com.entity.vo.KetifenleiVO;
import com.entity.view.KetifenleiView;@Service("ketifenleiService")
public class KetifenleiServiceImpl extends ServiceImpl<KetifenleiDao, KetifenleiEntity> implements KetifenleiService {@Overridepublic PageUtils queryPage(Map<String, Object> params) {Page<KetifenleiEntity> page = this.selectPage(new Query<KetifenleiEntity>(params).getPage(),new EntityWrapper<KetifenleiEntity>());return new PageUtils(page);}@Overridepublic PageUtils queryPage(Map<String, Object> params, Wrapper<KetifenleiEntity> wrapper) {Page<KetifenleiView> page =new Query<KetifenleiView>(params).getPage();page.setRecords(baseMapper.selectListView(page,wrapper));PageUtils pageUtil = new PageUtils(page);return pageUtil;}@Overridepublic List<KetifenleiVO> selectListVO(Wrapper<KetifenleiEntity> wrapper) {return baseMapper.selectListVO(wrapper);}@Overridepublic KetifenleiVO selectVO(Wrapper<KetifenleiEntity> wrapper) {return baseMapper.selectVO(wrapper);}@Overridepublic List<KetifenleiView> selectListView(Wrapper<KetifenleiEntity> wrapper) {return baseMapper.selectListView(wrapper);}@Overridepublic KetifenleiView selectView(Wrapper<KetifenleiEntity> wrapper) {return baseMapper.selectView(wrapper);}}

5.4 课题分类Dao模块

package com.dao;import com.entity.KetifenleiEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;import org.apache.ibatis.annotations.Param;
import com.entity.vo.KetifenleiVO;
import com.entity.view.KetifenleiView;/*** 课题分类* * @author * @email * @date */
public interface KetifenleiDao extends BaseMapper<KetifenleiEntity> {List<KetifenleiVO> selectListVO(@Param("ew") Wrapper<KetifenleiEntity> wrapper);KetifenleiVO selectVO(@Param("ew") Wrapper<KetifenleiEntity> wrapper);List<KetifenleiView> selectListView(@Param("ew") Wrapper<KetifenleiEntity> wrapper);List<KetifenleiView> selectListView(Pagination page,@Param("ew") Wrapper<KetifenleiEntity> wrapper);KetifenleiView selectView(@Param("ew") Wrapper<KetifenleiEntity> wrapper);	}

6、论文目录结构

7、源码获取

感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!

喜欢文章可以点赞、收藏、关注、评论

获取源码请私信

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/205976.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用纯 CSS 实现网格背景

是不是在日常开发中经常遇到实现网格的需求&#xff0c;网格通常对网页中展示的元素能起到很好的定位和对齐作用。 这里介绍如何只通过 CSS 来实现这个需求&#xff1f; 使用背景图 这里我们的背景图使用 SVG 来创建&#xff0c;首先&#xff0c;创建绘出一个正方形&#xff0c…

支持向量机,硬间隔,软间隔,核技巧,超参数设置,分类与回归

SVM&#xff08;Support Vector Machine&#xff0c;支持向量机&#xff09;是一种非常常用并且有效的监督学习算法&#xff0c;在许多领域都有广泛应用。它可以用于二分类问题和多分类问题&#xff0c;并且在处理高维数据和特征选择方面非常强大。SVM算法的核心思想是通过找到…

linux 账号管理实例一,stdin,passwd复习

需求 账号名称全名次要用户组是否可登录主机密码 myuser1 1st usermygroup1yespasswordmyuser22st usermygroup1yespasswordmyuser33st user无nopassword 第一&#xff1a;用户&#xff0c;和用户组创建&#xff0c;并分配有效用户组&#xff08;初始用户组是passwd里…

浅谈安科瑞ASJ继电器在菲律宾矿厂的应用

摘要&#xff1a;对电气线路进行接地故障保护&#xff0c;方式接地故障电流引起的设备和电气火灾事故越来越成为日常所需。针对用户侧主要的用能节点&#xff0c;设计安装剩余电流继电器&#xff0c;实时监控各用能回路的剩余电流状态。通过实时监控用能以及相关电力参数、提高…

展开运算符(...)

假如我们有一个数组&#xff1a; const arr [7,8,9];● 我们如果想要数组中的元素&#xff0c;我们必须一个一个手动的去获取&#xff0c;如下&#xff1a; const arr [7,8,9]; const badNewArr [5, 6, arr[0], arr[1],arr[2]]; console.log(badNewArr);● 但是通过展开运…

(Spring学习06)Spring之循环依赖底层源码解析

什么是循环依赖&#xff1f; 很简单&#xff0c;就是A对象依赖了B对象&#xff0c;B对象依赖了A对象。 比如&#xff1a; // A依赖了B class A{public B b; }// B依赖了A class B{public A a; }那么循环依赖是个问题吗&#xff1f; 如果不考虑Spring&#xff0c;循环依赖并不…

MindStudio学习一 整体介绍

一场景介绍 二 安装介绍 1.LINUX 采用无昇腾硬件采用linux 分部署 2.WINDOWS 3.linux下安装整体步骤 3.1安装依赖 3.2 安装步骤 1.gcc cmake 等依赖 2.python3.7.5 3.pip 安装依赖 4.安装JDK 5.安装 Ascend-cann-toolkit 6.解压安装Mindstudio 7.进入bin路径 ./…

爱创科技总裁谢朝晖荣获“推动医药健康产业高质量发展人物”

中国医药市场规模已经成为全球第二大医药市场&#xff0c;仅次于美国。近年来&#xff0c;随着中国经济的持续增长和人民生活水平的提高&#xff0c;医药市场需求不断扩大。政府对医疗卫生事业的投入也在不断加大&#xff0c;为医药行业的发展创造了良好的政策环境。为推动医药…

Maven下载与安装教程

一、下载 Maven 进入 Maven 官网&#xff1a;maven.apache.org/download.cgi 选择 .zip 文件下载&#xff0c;最新版本是 3.9.5 二、安装 Maven 将 .zip 文件解压到没有中文没有空格的路径下。例如下图&#xff0c;在创建一个repository的空文件夹在他的下面&#xff0c;用于…

php爬虫实现把目标页面变成自己的网站页面

最近又被烦的不行&#xff0c;琐事不断&#xff0c;要是比起懒来一个人比一个人懒&#xff0c;但是懒要转换成动力啊&#xff0c;能让自己真正的偷懒&#xff0c;而不是浪费时间。每天还是需要不断的学习的&#xff0c;才能更好的提高效率&#xff0c;把之前做的简单小功能爬虫…

5.3 Windows驱动开发:内核取应用层模块基址

在上一篇文章《内核取ntoskrnl模块基地址》中我们通过调用内核API函数获取到了内核进程ntoskrnl.exe的基址&#xff0c;当在某些场景中&#xff0c;我们不仅需要得到内核的基地址&#xff0c;也需要得到特定进程内某个模块的基地址&#xff0c;显然上篇文章中的方法是做不到的&…

TCP 连接建立

1&#xff1a;TCP 三次握手过程是怎样的&#xff1f; 客户端和服务端都处于 CLOSE 状态&#xff0c;服务端主动监听某个端口&#xff0c;处于 LISTEN 状态 第一次握手&#xff1a;客户端带着序号和SYN为1&#xff0c;把第一个 SYN 报文发送给服务端&#xff0c;客户端处于 SYN-…

mybatis项目中添加logback日志

1、pom.xml <dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></dependency><!-- MySQL驱动 mybatis底层依赖jdbc驱动实现,本次不需要导入连接池,mybatis自带! --><dependency&g…

vuepress-----3、导航栏

3、导航栏 # 页面目录结构约定 . ├── docs │ ├── .vuepress (可选的) │ │ ├── components (可选的) │ │ ├── theme (可选的) │ │ │ └── Layout.vue │ │ ├── public (可选的) │ │ ├── styles (可选的) │ │ │…

C++学习之路(十三)C++ 用Qt5实现一个工具箱(增加一个Base64加解密功能)- 示例代码拆分讲解

上篇文章&#xff0c;我们用 Qt5 实现了在小工具箱中添加了《XML文本格式化功能》功能。为了继续丰富我们的工具箱&#xff0c;今天我们就再增加一个平时经常用到的功能吧&#xff0c;就是「 Base64加解密 」功能。下面我们就来看看如何来规划开发一个这样的小功能并且添加到我…

arp报文及使用go实现

一、ARP协议报文格式及ARP表 ARP&#xff08;Address Resolution Protocal&#xff0c;地址解析协议&#xff09;是将IP地址解析为以太网的MAC地址&#xff08;或者称为物理地址&#xff09;的协议。在局域网中&#xff0c;当主机或其他网络设备有数据要发送给另一个主机或设备…

spring aop核心原理概念

目录 概述aop核心概念解析Target(目标对象)Joinpoint(连接点)Advice(通知/增加)Pointcut(切入点)Aspect(切面)Advisor(通知器)Weaving(织入)Proxy(代理)Introduction(引介) 结束 概述 aop核心概念解析 Target(目标对象) 代理的目标对象 目标对象(Target)的确立&#xff0c;是…

计算方法 c++代码

环境 &#xff1a;Windows 10 Dev-C 5.11 Lagrange 插值方法 Lagrange 插值多项式&#xff1a; #include<bits/stdc.h> using namespace std; #define int long long #define fer(i,a,b) for(int ia;i<b;i) signed main(){cout<<"拉格朗日插值法&…

Linux加强篇005-用户身份与文件权限

目录 前言 1. 用户身份与能力 2. 文件权限与归属 3. 文件的特殊权限 4. 文件的隐藏属性 5. 文件访问控制列表 6. su命令与sudo服务 前言 悟已往之不谏&#xff0c;知来者之可追。实迷途其未远&#xff0c;觉今是而昨非。舟遥遥以轻飏&#xff0c;风飘飘而吹衣。问征夫以…

【Web】NewStarCTF Week3 个人复现

目录 ①Include &#x1f350; ②medium_sql ③POP Gadget ④R!!!C!!!E!!! ⑤GenShin ⑥OtenkiGirl ①Include &#x1f350; ?filephpinfo 提示查下register_argc_argv 发现为on LFI包含 pearcmd命令执行学习 pearcmd.php文件包含妙用 ?file/usr/local/lib/php/p…