计算机毕业设计 基于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.mzph.cn/news/185518.shtml

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

相关文章

css 字体倾斜

css 字体倾斜 //左右倾斜 transform: skew(40deg, 0deg);//上下倾斜 transform: skew(0deg, 16deg);

【代码】考虑区域多能源系统集群协同优化的联合需求侧响应模型(完美复现)

程序名称&#xff1a;考虑区域多能源系统集群协同优化的联合需求侧响应模型 实现平台&#xff1a;matlab-yalmip-cplex/gurobi 代码简介&#xff1a;风电、光伏发电等波动电源接入比例不断提高&#xff0c;使得区域多能源系统中能量转化和协调能力减弱。基于此&#xff0c;该…

面试:SpringMVC问题

文章目录 SpringMVC运行流程MVC的概念与请求在MVC中的执行路径&#xff0c;ResponsBody注解的用途SpringMVC启动流程SpringMVC的拦截器和过滤器有什么区别&#xff1f;执行顺序&#xff1f;Spring和SpringMVC为什么需要父子容器&#xff1f; SpringMVC运行流程 • 客户端&#…

Docker Swarm总结+Jenkins安装配置与集成snarqube和目标服务器(4/5)

博主介绍&#xff1a;Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 &#x1f345;文末获取源码下载地址&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb;…

海外热门:香港服务器和美国服务器的成本较量

​  提到 2023 年海外热门服务器&#xff0c;在整个 IDC 站长圈中&#xff0c;要数香港服务器和美国服务器的关注度一直居高不下。其实也正常&#xff0c;毕竟这两种海外服务器相较成熟。不过&#xff0c;在实际使用中&#xff0c;两者也会被拿来对比&#xff0c;最显而易见的…

Python多线程优化:提升程序性能的实例

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;我是涛哥&#xff0c;今天为大家分享 Python多线程优化&#xff1a;提升程序性能的实例&#xff0c;全文5600字&#xff0c;阅读大约16钟。 多线程是一种有效的并发编程方式&#xff0c;能够提高程序的性能。本文…

(六)基于高尔夫优化算法GOA求解无人机三维路径规划研究(MATLAB代码)

一、无人机模型简介&#xff1a; 单个无人机三维路径规划问题及其建模_IT猿手的博客-CSDN博客 参考文献&#xff1a; [1]胡观凯,钟建华,李永正,黎万洪.基于IPSO-GA算法的无人机三维路径规划[J].现代电子技术,2023,46(07):115-120 二、高尔夫优化算法GOA简介 高尔夫优化算法…

c++——取地址(引用)和取内容(解引用)操作

今天又做蒙了一道题&#xff0c;把思考和实验记录下来。 struct sk{ int a; float b;}data; int *p; 若要使p指向data中的a域&#xff0c;正确的赋值语句是 p&a; pdata.a; p&data.a; *pdata.a前两个可以很容易看出错误之处&#xff0c;a是结构体内的变量&#xff0c;需…

P0级事故频发后,这家公司终于醒悟了!

近期&#xff0c;国内的互联网大厂接连爆发P0级事件&#xff0c;阿里云崩完滴滴崩&#xff0c;企业在追求效益的前提是业务的连续和稳定。如果发生故障不能快速恢复&#xff0c;引发业务中断&#xff0c;给企业带来的损失是巨大的&#xff0c;换言之&#xff0c;企业需要一套清…

OFDM通信连路仿真学习

文章目录 前言一、前置知识1、块状导频与梳状导频①、相似点②、区别③、其他 2、其他知识 二、仿真任务及方案1、仿真任务2、仿真方案 三、MATLAB仿真1、MATLAB 源码2、程序流程3、仿真结果①、打印信息③、8PSK 星座图②、脉冲成型图③、ETU300登加AWGN信道下误比特率曲线 四…

Windows系统搭建Appium 2 和 Appium Inspector 环境

前言 自 2022 年 1 月 1 日起&#xff0c;Appium 核心团队不再维护 Appium 1.x。官方支持的平台驱动程序的所有最新版本均不兼容 Appium 1.x&#xff0c;需要 Appium 2 才能运行。 Appium 2是一个自动化移动应用程序的开源工具&#xff0c;它带来了以下重要改进&#xff1a;  …

PowerDesigner数据库建模软件的安装

解压&#xff1a; 解压好以后&#xff0c;点击PowerDesigner.exe安装 这个安装的版本是15 选择安装路径&#xff0c;可以默认可以自定义&#xff1a; 直接点next&#xff1a; 全选了 点击next&#xff1a; 点击next&#xff1a; 点finish 汉化&#xff1a; 先把pojie和汉化文件…

Redis:主从复制

目录 概念配置步骤通过命令配置主从复制原理薪火相传反客为主哨兵(Sentinel)模式原理配置SpringBoot整合Sentinel模式 概念 主机更新后根据配置和策略&#xff0c;自动同步到备机的master/slave机制&#xff0c;Master以写为主&#xff0c;Slave以读为主。 作用&#xff1a; …

JVM 字节码

JVM概述 问题引出 你是否也遇到过这些问题&#xff1f; 运行着的线上系统突然卡死&#xff0c;系统无法访问&#xff0c;甚至直接OOM&#xff01;想解决线上JVM GC问题&#xff0c;但却无从下手。新项目上线&#xff0c;对各种JVM参数设置一脸茫然&#xff0c;直接默认吧&…

ssm的鲜花销售系统(有报告)。Javaee项目。

演示视频&#xff1a; ssm的鲜花销售系统&#xff08;有报告&#xff09;。Javaee项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring SpringMvc Mybatis…

python用YOLOv8对图片进行分类

用yolov8的模型进行分类 先上效果图 图片资源 模型下载地址 https://github.com/ultralytics/ultralytics 代码 import matplotlib.pyplot as plt from ultralytics import YOLO from PIL import Image import cv2model YOLO(../ultralytics/yolov8n.pt)# print(model…

innovus如何检查missing via

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 verifyConnectivity innovus检查绕线的missing via可以使用verifyConnectivity命令&#xff0c;如果有net routing missing via问题&#xff0c;会报告pieces of net are not …

C语言——指针(三)

&#x1f4dd;前言&#xff1a; 上篇文章C语言——指针&#xff08;二&#xff09;中对&#xff1a;指针的运算和指针变量类型对指针使用的影响开展了进一步的探讨&#xff0c;这篇文章我们继续学习一下指针与一维数组之间的关系&#xff1a; 1&#xff0c;对数组名的理解 2&am…

python + mongodb使用入门

最近用了下mongodb &#xff0c;简单做个记录&#xff1a; 1.启动系统mongo服务 mongod -f mongod.conf其中 mongod.conf 是配置文件&#xff0c;示例如下&#xff1a; dbpath/youpath/data/db #数据库保存位置 logpath/youpath/data/mongod.log #日志 logappendtrue fo…

突发,合肥一废品回收站发生火灾,富维AI神器助力防灾

昨晚&#xff0c;合肥一废品回收站突发火灾&#xff0c;火光冲天&#xff0c;烟雾蔓延。幸亏及时发现&#xff0c;消防人员迅速到场&#xff0c;控制了火势。这起事件让我们再次认识到火灾报警的重要性。而在这方面&#xff0c;北京富维图像公司的FIS智能图像识别系统就发挥了巨…