计算机毕业设计 基于SpringBoot的大学生双创竞赛项目申报与路演管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

news2024/11/27 0:38:04

博主介绍:✌从事软件开发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 项目介绍

当前大学生双创竞赛项目申报与路演管理存在一些问题,如信息不对称、流程繁琐等。学生和专家在申报和管理过程中需要花费大量时间和精力,而管理员则需要处理大量的数据和信息。本课题旨在设计并实现一个基于SpringBoot的大学生双创竞赛项目申报与路演管理系统,以提高申报和管理的效率,减轻学生、专家和管理员的工作负担。该系统的实现会帮助学生更好地参与创新创业活动,提高他们的实践能力和创新意识。同时,专家可以通过系统快速了解学生的项目情况,为评审提供便利。管理员则可以更加高效地管理学生、专家和项目信息,提高工作效率。

在需求分析阶段,我了解到学生、专家和管理员的功能需求,包括注册登录、首页、个人中心(修改密码、个人信息)、创新企业管理、路演项目管理、创新创业评审管理、路演项目评审管理等。在系统设计阶段,我们采用了分层架构设计,包括表示层、业务逻辑层和数据访问层。在数据库设计阶段,我们选择了MySQL数据库来存储和管理数据。在系统实现阶段,我们使用Java编程语言和SpringBoot框架来实现系统的全部功能。我们按照模块化的开发方式,将系统划分为多个模块,并实现了各个模块之间的协同工作。在系统测试阶段,我们对系统进行了全面的功能测试和性能测试,确保系统的稳定性和可靠性。

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: springboot0f6p9
-- ------------------------------------------------------
-- 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: `springboot0f6p9`
--

/*!40000 DROP DATABASE IF EXISTS `springboot0f6p9`*/;

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springboot0f6p9` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;

USE `springboot0f6p9`;

--
-- Table structure for table `chuangxinchuangye`
--

DROP TABLE IF EXISTS `chuangxinchuangye`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `chuangxinchuangye` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `xiangmumingcheng` varchar(200) DEFAULT NULL COMMENT '项目名称',
  `xiangmuleixing` varchar(200) DEFAULT NULL COMMENT '项目类型',
  `xiangmudengji` varchar(200) DEFAULT NULL COMMENT '项目等级',
  `xiangmufujian` longtext COMMENT '项目附件',
  `shenbaoshijian` datetime DEFAULT NULL COMMENT '申报时间',
  `shenbaoshuoming` longtext COMMENT '申报说明',
  `xuehao` varchar(200) DEFAULT NULL COMMENT '学号',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1680185448649 DEFAULT CHARSET=utf8 COMMENT='创新创业';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `chuangxinchuangye`
--

LOCK TABLES `chuangxinchuangye` WRITE;
/*!40000 ALTER TABLE `chuangxinchuangye` DISABLE KEYS */;
INSERT INTO `chuangxinchuangye` VALUES (31,'2023-03-30 14:04:00','项目名称1','项目类型1','项目等级1','','2023-03-30 22:04:00','申报说明1','学号1','姓名1'),(32,'2023-03-30 14:04:00','项目名称2','项目类型2','项目等级2','','2023-03-30 22:04:00','申报说明2','学号2','姓名2'),(33,'2023-03-30 14:04:00','项目名称3','项目类型3','项目等级3','','2023-03-30 22:04:00','申报说明3','学号3','姓名3'),(34,'2023-03-30 14:04:00','项目名称4','项目类型4','项目等级4','','2023-03-30 22:04:00','申报说明4','学号4','姓名4'),(35,'2023-03-30 14:04:00','项目名称5','项目类型5','项目等级5','','2023-03-30 22:04:00','申报说明5','学号5','姓名5'),(36,'2023-03-30 14:04:00','项目名称6','项目类型6','项目等级6','','2023-03-30 22:04:00','申报说明6','学号6','姓名6'),(37,'2023-03-30 14:04:00','项目名称7','项目类型7','项目等级7','','2023-03-30 22:04:00','申报说明7','学号7','姓名7'),(38,'2023-03-30 14:04:00','项目名称8','项目类型8','项目等级8','','2023-03-30 22:04:00','申报说明8','学号8','姓名8'),(1680185448648,'2023-03-30 14:10:48','XX项目','XX类型','XX等级','upload/1680185435850.jpg','2023-03-30 22:10:00','XXXXXX','111','张三');
/*!40000 ALTER TABLE `chuangxinchuangye` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `chuangxinchuangyepingshen`
--

DROP TABLE IF EXISTS `chuangxinchuangyepingshen`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `chuangxinchuangyepingshen` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `xiangmumingcheng` varchar(200) DEFAULT NULL COMMENT '项目名称',
  `xiangmuleixing` varchar(200) DEFAULT NULL COMMENT '项目类型',
  `xiangmudengji` varchar(200) DEFAULT NULL COMMENT '项目等级',
  `pingshenshijian` datetime DEFAULT NULL COMMENT '评审时间',
  `pingshenfenshu` int(11) DEFAULT NULL COMMENT '评审分数',
  `pingshenyijian` longtext COMMENT '评审意见',
  `xuehao` varchar(200) DEFAULT NULL COMMENT '学号',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  `zhuanjiazhanghao` varchar(200) DEFAULT NULL COMMENT '专家账号',
  `zhuanjiaxingming` varchar(200) DEFAULT NULL COMMENT '专家姓名',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1680185541548 DEFAULT CHARSET=utf8 COMMENT='创新创业评审';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `chuangxinchuangyepingshen`
--

LOCK TABLES `chuangxinchuangyepingshen` WRITE;
/*!40000 ALTER TABLE `chuangxinchuangyepingshen` DISABLE KEYS */;
INSERT INTO `chuangxinchuangyepingshen` VALUES (51,'2023-03-30 14:04:00','项目名称1','项目类型1','项目等级1','2023-03-30 22:04:00',1,'评审意见1','学号1','姓名1','专家账号1','专家姓名1'),(52,'2023-03-30 14:04:00','项目名称2','项目类型2','项目等级2','2023-03-30 22:04:00',2,'评审意见2','学号2','姓名2','专家账号2','专家姓名2'),(53,'2023-03-30 14:04:00','项目名称3','项目类型3','项目等级3','2023-03-30 22:04:00',3,'评审意见3','学号3','姓名3','专家账号3','专家姓名3'),(54,'2023-03-30 14:04:00','项目名称4','项目类型4','项目等级4','2023-03-30 22:04:00',4,'评审意见4','学号4','姓名4','专家账号4','专家姓名4'),(55,'2023-03-30 14:04:00','项目名称5','项目类型5','项目等级5','2023-03-30 22:04:00',5,'评审意见5','学号5','姓名5','专家账号5','专家姓名5'),(56,'2023-03-30 14:04:00','项目名称6','项目类型6','项目等级6','2023-03-30 22:04:00',6,'评审意见6','学号6','姓名6','专家账号6','专家姓名6'),(57,'2023-03-30 14:04:00','项目名称7','项目类型7','项目等级7','2023-03-30 22:04:00',7,'评审意见7','学号7','姓名7','专家账号7','专家姓名7'),(58,'2023-03-30 14:04:00','项目名称8','项目类型8','项目等级8','2023-03-30 22:04:00',8,'评审意见8','学号8','姓名8','专家账号8','专家姓名8'),(1680185500489,'2023-03-30 14:11:40','XX项目','XX类型','XX等级','2023-03-30 22:11:14',90,'xxxx','111','张三','222','李四'),(1680185541547,'2023-03-30 14:12:20','XX项目','XX类型','XX等级','2023-03-30 22:11:55',85,'xxxx','111','张三','专家账号1','专家姓名1');
/*!40000 ALTER TABLE `chuangxinchuangyepingshen` ENABLE KEYS */;
UNLOCK TABLES;

--
-- 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 `luyanxiangmu`
--

DROP TABLE IF EXISTS `luyanxiangmu`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `luyanxiangmu` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `luyanmingcheng` varchar(200) DEFAULT NULL COMMENT '路演名称',
  `luyandidian` varchar(200) DEFAULT NULL COMMENT '路演地点',
  `luyanfangshi` varchar(200) DEFAULT NULL COMMENT '路演方式',
  `luyanshipin` longtext COMMENT '路演视频',
  `luyanjianjie` longtext COMMENT '路演简介',
  `xuehao` varchar(200) DEFAULT NULL COMMENT '学号',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1680185471924 DEFAULT CHARSET=utf8 COMMENT='路演项目';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `luyanxiangmu`
--

LOCK TABLES `luyanxiangmu` WRITE;
/*!40000 ALTER TABLE `luyanxiangmu` DISABLE KEYS */;
INSERT INTO `luyanxiangmu` VALUES (41,'2023-03-30 14:04:00','路演名称1','路演地点1','路演方式1','','路演简介1','学号1','姓名1'),(42,'2023-03-30 14:04:00','路演名称2','路演地点2','路演方式2','','路演简介2','学号2','姓名2'),(43,'2023-03-30 14:04:00','路演名称3','路演地点3','路演方式3','','路演简介3','学号3','姓名3'),(44,'2023-03-30 14:04:00','路演名称4','路演地点4','路演方式4','','路演简介4','学号4','姓名4'),(45,'2023-03-30 14:04:00','路演名称5','路演地点5','路演方式5','','路演简介5','学号5','姓名5'),(46,'2023-03-30 14:04:00','路演名称6','路演地点6','路演方式6','','路演简介6','学号6','姓名6'),(47,'2023-03-30 14:04:00','路演名称7','路演地点7','路演方式7','','路演简介7','学号7','姓名7'),(48,'2023-03-30 14:04:00','路演名称8','路演地点8','路演方式8','','路演简介8','学号8','姓名8'),(1680185471923,'2023-03-30 14:11:11','XX路演','XX地点','XX方式','upload/1680185468848.mp4','XXXX','111','张三');
/*!40000 ALTER TABLE `luyanxiangmu` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `luyanxiangmupingshen`
--

DROP TABLE IF EXISTS `luyanxiangmupingshen`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `luyanxiangmupingshen` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `luyanmingcheng` varchar(200) DEFAULT NULL COMMENT '路演名称',
  `luyandidian` varchar(200) DEFAULT NULL COMMENT '路演地点',
  `luyanfangshi` varchar(200) DEFAULT NULL COMMENT '路演方式',
  `pingshenshijian` datetime DEFAULT NULL COMMENT '评审时间',
  `pingshenfenshu` int(11) DEFAULT NULL COMMENT '评审分数',
  `pingshenyijian` longtext COMMENT '评审意见',
  `xuehao` varchar(200) DEFAULT NULL COMMENT '学号',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  `zhuanjiazhanghao` varchar(200) DEFAULT NULL COMMENT '专家账号',
  `zhuanjiaxingming` varchar(200) DEFAULT NULL COMMENT '专家姓名',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1680185546940 DEFAULT CHARSET=utf8 COMMENT='路演项目评审';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `luyanxiangmupingshen`
--

LOCK TABLES `luyanxiangmupingshen` WRITE;
/*!40000 ALTER TABLE `luyanxiangmupingshen` DISABLE KEYS */;
INSERT INTO `luyanxiangmupingshen` VALUES (61,'2023-03-30 14:04:00','路演名称1','路演地点1','路演方式1','2023-03-30 22:04:00',1,'评审意见1','学号1','姓名1','专家账号1','专家姓名1'),(62,'2023-03-30 14:04:00','路演名称2','路演地点2','路演方式2','2023-03-30 22:04:00',2,'评审意见2','学号2','姓名2','专家账号2','专家姓名2'),(63,'2023-03-30 14:04:00','路演名称3','路演地点3','路演方式3','2023-03-30 22:04:00',3,'评审意见3','学号3','姓名3','专家账号3','专家姓名3'),(64,'2023-03-30 14:04:00','路演名称4','路演地点4','路演方式4','2023-03-30 22:04:00',4,'评审意见4','学号4','姓名4','专家账号4','专家姓名4'),(65,'2023-03-30 14:04:00','路演名称5','路演地点5','路演方式5','2023-03-30 22:04:00',5,'评审意见5','学号5','姓名5','专家账号5','专家姓名5'),(66,'2023-03-30 14:04:00','路演名称6','路演地点6','路演方式6','2023-03-30 22:04:00',6,'评审意见6','学号6','姓名6','专家账号6','专家姓名6'),(67,'2023-03-30 14:04:00','路演名称7','路演地点7','路演方式7','2023-03-30 22:04:00',7,'评审意见7','学号7','姓名7','专家账号7','专家姓名7'),(68,'2023-03-30 14:04:00','路演名称8','路演地点8','路演方式8','2023-03-30 22:04:00',8,'评审意见8','学号8','姓名8','专家账号8','专家姓名8'),(1680185511042,'2023-03-30 14:11:50','XX路演','XX地点','XX方式','2023-03-30 22:11:25',90,'xxxx','111','张三','222','李四'),(1680185546939,'2023-03-30 14:12:26','XX路演','XX地点','XX方式','2023-03-30 22:12:02',85,'xxxx','111','张三','专家账号1','专家姓名1');
/*!40000 ALTER TABLE `luyanxiangmupingshen` 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 AUTO_INCREMENT=5 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 */;
INSERT INTO `token` VALUES (1,1680185395817,'111','xuesheng','学生','i4wtznb98i2wt008ecg5z1s73mel8702','2023-03-30 14:10:15','2023-03-30 15:12:35'),(2,1680185410373,'222','zhuanjia','专家','wvael690jszlz9medbc10irg4j15esnx','2023-03-30 14:11:24','2023-03-30 15:11:24'),(3,21,'专家账号1','zhuanjia','专家','g87gcuyr2e6mzboednvk7lpxayzxxu0x','2023-03-30 14:12:13','2023-03-30 15:12:13'),(4,1,'admin','users','管理员','u01sis1qcd2u3j1gbflv8x6jqom30i3d','2023-03-30 14:12:45','2023-03-30 15:12:45');
/*!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-03-30 14:04:00');
/*!40000 ALTER TABLE `users` 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 '密码',
  `xingming` varchar(200) NOT NULL COMMENT '姓名',
  `xingbie` varchar(200) DEFAULT NULL COMMENT '性别',
  `xueyuan` varchar(200) DEFAULT NULL COMMENT '学院',
  `nianji` varchar(200) DEFAULT NULL COMMENT '年级',
  `banji` varchar(200) DEFAULT NULL COMMENT '班级',
  `lianxifangshi` varchar(200) DEFAULT NULL COMMENT '联系方式',
  `touxiang` longtext COMMENT '头像',
  PRIMARY KEY (`id`),
  UNIQUE KEY `xuehao` (`xuehao`)
) ENGINE=InnoDB AUTO_INCREMENT=1680185395818 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-03-30 14:04:00','学号1','123456','姓名1','男','学院1','年级1','班级1','13823888881','upload/xuesheng_touxiang1.jpg'),(12,'2023-03-30 14:04:00','学号2','123456','姓名2','男','学院2','年级2','班级2','13823888882','upload/xuesheng_touxiang2.jpg'),(13,'2023-03-30 14:04:00','学号3','123456','姓名3','男','学院3','年级3','班级3','13823888883','upload/xuesheng_touxiang3.jpg'),(14,'2023-03-30 14:04:00','学号4','123456','姓名4','男','学院4','年级4','班级4','13823888884','upload/xuesheng_touxiang4.jpg'),(15,'2023-03-30 14:04:00','学号5','123456','姓名5','男','学院5','年级5','班级5','13823888885','upload/xuesheng_touxiang5.jpg'),(16,'2023-03-30 14:04:00','学号6','123456','姓名6','男','学院6','年级6','班级6','13823888886','upload/xuesheng_touxiang6.jpg'),(17,'2023-03-30 14:04:00','学号7','123456','姓名7','男','学院7','年级7','班级7','13823888887','upload/xuesheng_touxiang7.jpg'),(18,'2023-03-30 14:04:00','学号8','123456','姓名8','男','学院8','年级8','班级8','13823888888','upload/xuesheng_touxiang8.jpg'),(1680185395817,'2023-03-30 14:09:55','111','111','张三','男','XX学院','XX年级','XX班级','18156541454','upload/1680185394832.jpg');
/*!40000 ALTER TABLE `xuesheng` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `zhuanjia`
--

DROP TABLE IF EXISTS `zhuanjia`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `zhuanjia` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `zhuanjiazhanghao` varchar(200) NOT NULL COMMENT '专家账号',
  `mima` varchar(200) NOT NULL COMMENT '密码',
  `zhuanjiaxingming` varchar(200) NOT NULL COMMENT '专家姓名',
  `xingbie` varchar(200) DEFAULT NULL COMMENT '性别',
  `lianxifangshi` varchar(200) DEFAULT NULL COMMENT '联系方式',
  `touxiang` longtext COMMENT '头像',
  PRIMARY KEY (`id`),
  UNIQUE KEY `zhuanjiazhanghao` (`zhuanjiazhanghao`)
) ENGINE=InnoDB AUTO_INCREMENT=1680185410374 DEFAULT CHARSET=utf8 COMMENT='专家';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `zhuanjia`
--

LOCK TABLES `zhuanjia` WRITE;
/*!40000 ALTER TABLE `zhuanjia` DISABLE KEYS */;
INSERT INTO `zhuanjia` VALUES (21,'2023-03-30 14:04:00','专家账号1','123456','专家姓名1','男','13823888881','upload/zhuanjia_touxiang1.jpg'),(22,'2023-03-30 14:04:00','专家账号2','123456','专家姓名2','男','13823888882','upload/zhuanjia_touxiang2.jpg'),(23,'2023-03-30 14:04:00','专家账号3','123456','专家姓名3','男','13823888883','upload/zhuanjia_touxiang3.jpg'),(24,'2023-03-30 14:04:00','专家账号4','123456','专家姓名4','男','13823888884','upload/zhuanjia_touxiang4.jpg'),(25,'2023-03-30 14:04:00','专家账号5','123456','专家姓名5','男','13823888885','upload/zhuanjia_touxiang5.jpg'),(26,'2023-03-30 14:04:00','专家账号6','123456','专家姓名6','男','13823888886','upload/zhuanjia_touxiang6.jpg'),(27,'2023-03-30 14:04:00','专家账号7','123456','专家姓名7','男','13823888887','upload/zhuanjia_touxiang7.jpg'),(28,'2023-03-30 14:04:00','专家账号8','123456','专家姓名8','男','13823888888','upload/zhuanjia_touxiang8.jpg'),(1680185410373,'2023-03-30 14:10:10','222','222','李四','男','18156541454','upload/1680185409123.jpg');
/*!40000 ALTER TABLE `zhuanjia` 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 2023-04-05 15:45:04

5、关键代码

5.1 创新创业管理Controller模块 

package com.controller;

import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.text.ParseException;
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.ChuangxinchuangyeEntity;
import com.entity.view.ChuangxinchuangyeView;

import com.service.ChuangxinchuangyeService;
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 2023-03-30 22:03:49
 */
@RestController
@RequestMapping("/chuangxinchuangye")
public class ChuangxinchuangyeController {
    @Autowired
    private ChuangxinchuangyeService chuangxinchuangyeService;

    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ChuangxinchuangyeEntity chuangxinchuangye,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("xuesheng")) {
			chuangxinchuangye.setXuehao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ChuangxinchuangyeEntity> ew = new EntityWrapper<ChuangxinchuangyeEntity>();

		PageUtils page = chuangxinchuangyeService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chuangxinchuangye), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ChuangxinchuangyeEntity chuangxinchuangye, 
		HttpServletRequest request){
        EntityWrapper<ChuangxinchuangyeEntity> ew = new EntityWrapper<ChuangxinchuangyeEntity>();

		PageUtils page = chuangxinchuangyeService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chuangxinchuangye), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ChuangxinchuangyeEntity chuangxinchuangye){
       	EntityWrapper<ChuangxinchuangyeEntity> ew = new EntityWrapper<ChuangxinchuangyeEntity>();
      	ew.allEq(MPUtil.allEQMapPre( chuangxinchuangye, "chuangxinchuangye")); 
        return R.ok().put("data", chuangxinchuangyeService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ChuangxinchuangyeEntity chuangxinchuangye){
        EntityWrapper< ChuangxinchuangyeEntity> ew = new EntityWrapper< ChuangxinchuangyeEntity>();
 		ew.allEq(MPUtil.allEQMapPre( chuangxinchuangye, "chuangxinchuangye")); 
		ChuangxinchuangyeView chuangxinchuangyeView =  chuangxinchuangyeService.selectView(ew);
		return R.ok("查询创新创业成功").put("data", chuangxinchuangyeView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ChuangxinchuangyeEntity chuangxinchuangye = chuangxinchuangyeService.selectById(id);
        return R.ok().put("data", chuangxinchuangye);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ChuangxinchuangyeEntity chuangxinchuangye = chuangxinchuangyeService.selectById(id);
        return R.ok().put("data", chuangxinchuangye);
    }

    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ChuangxinchuangyeEntity chuangxinchuangye, HttpServletRequest request){
    	chuangxinchuangye.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(chuangxinchuangye);
        chuangxinchuangyeService.insert(chuangxinchuangye);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ChuangxinchuangyeEntity chuangxinchuangye, HttpServletRequest request){
    	chuangxinchuangye.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(chuangxinchuangye);
        chuangxinchuangyeService.insert(chuangxinchuangye);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    public R update(@RequestBody ChuangxinchuangyeEntity chuangxinchuangye, HttpServletRequest request){
        //ValidatorUtils.validateEntity(chuangxinchuangye);
        chuangxinchuangyeService.updateById(chuangxinchuangye);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        chuangxinchuangyeService.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<ChuangxinchuangyeEntity> wrapper = new EntityWrapper<ChuangxinchuangyeEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("xuesheng")) {
			wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));
		}

		int count = chuangxinchuangyeService.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.ChuangxinchuangyepingshenEntity;
import java.util.List;
import java.util.Map;
import com.entity.vo.ChuangxinchuangyepingshenVO;
import org.apache.ibatis.annotations.Param;
import com.entity.view.ChuangxinchuangyepingshenView;

/**
 * 创新创业评审
 *
 * @author 
 * @email 
 * @date 2023-03-30 22:03:49
 */
public interface ChuangxinchuangyepingshenService extends IService<ChuangxinchuangyepingshenEntity> {

    PageUtils queryPage(Map<String, Object> params);
    
   	List<ChuangxinchuangyepingshenVO> selectListVO(Wrapper<ChuangxinchuangyepingshenEntity> wrapper);
   	
   	ChuangxinchuangyepingshenVO selectVO(@Param("ew") Wrapper<ChuangxinchuangyepingshenEntity> wrapper);
   	
   	List<ChuangxinchuangyepingshenView> selectListView(Wrapper<ChuangxinchuangyepingshenEntity> wrapper);
   	
   	ChuangxinchuangyepingshenView selectView(@Param("ew") Wrapper<ChuangxinchuangyepingshenEntity> wrapper);
   	
   	PageUtils queryPage(Map<String, Object> params,Wrapper<ChuangxinchuangyepingshenEntity> 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.ChuangxinchuangyepingshenDao;
import com.entity.ChuangxinchuangyepingshenEntity;
import com.service.ChuangxinchuangyepingshenService;
import com.entity.vo.ChuangxinchuangyepingshenVO;
import com.entity.view.ChuangxinchuangyepingshenView;

@Service("chuangxinchuangyepingshenService")
public class ChuangxinchuangyepingshenServiceImpl extends ServiceImpl<ChuangxinchuangyepingshenDao, ChuangxinchuangyepingshenEntity> implements ChuangxinchuangyepingshenService {
	
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        Page<ChuangxinchuangyepingshenEntity> page = this.selectPage(
                new Query<ChuangxinchuangyepingshenEntity>(params).getPage(),
                new EntityWrapper<ChuangxinchuangyepingshenEntity>()
        );
        return new PageUtils(page);
    }
    
    @Override
	public PageUtils queryPage(Map<String, Object> params, Wrapper<ChuangxinchuangyepingshenEntity> wrapper) {
		  Page<ChuangxinchuangyepingshenView> page =new Query<ChuangxinchuangyepingshenView>(params).getPage();
	        page.setRecords(baseMapper.selectListView(page,wrapper));
	    	PageUtils pageUtil = new PageUtils(page);
	    	return pageUtil;
 	}
    
    @Override
	public List<ChuangxinchuangyepingshenVO> selectListVO(Wrapper<ChuangxinchuangyepingshenEntity> wrapper) {
 		return baseMapper.selectListVO(wrapper);
	}
	
	@Override
	public ChuangxinchuangyepingshenVO selectVO(Wrapper<ChuangxinchuangyepingshenEntity> wrapper) {
 		return baseMapper.selectVO(wrapper);
	}
	
	@Override
	public List<ChuangxinchuangyepingshenView> selectListView(Wrapper<ChuangxinchuangyepingshenEntity> wrapper) {
		return baseMapper.selectListView(wrapper);
	}

	@Override
	public ChuangxinchuangyepingshenView selectView(Wrapper<ChuangxinchuangyepingshenEntity> wrapper) {
		return baseMapper.selectView(wrapper);
	}

}

5.4 创新创业管理Dao模块

package com.dao;

import com.entity.ChuangxinchuangyeEntity;
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.ChuangxinchuangyeVO;
import com.entity.view.ChuangxinchuangyeView;

/**
 * 创新创业
 * 
 * @author 
 * @email 
 * @date 2023-03-30 22:03:49
 */
public interface ChuangxinchuangyeDao extends BaseMapper<ChuangxinchuangyeEntity> {
	
	List<ChuangxinchuangyeVO> selectListVO(@Param("ew") Wrapper<ChuangxinchuangyeEntity> wrapper);
	
	ChuangxinchuangyeVO selectVO(@Param("ew") Wrapper<ChuangxinchuangyeEntity> wrapper);
	
	List<ChuangxinchuangyeView> selectListView(@Param("ew") Wrapper<ChuangxinchuangyeEntity> wrapper);

	List<ChuangxinchuangyeView> selectListView(Pagination page,@Param("ew") Wrapper<ChuangxinchuangyeEntity> wrapper);
	
	ChuangxinchuangyeView selectView(@Param("ew") Wrapper<ChuangxinchuangyeEntity> wrapper);
	
}

6、论文目录结构

7、源码获取

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

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

获取源码请私信

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

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

相关文章

深入探讨Guava的缓存机制

第1章&#xff1a;引言 大家好&#xff0c;我是小黑&#xff0c;今天咱们聊聊Google Guava的缓存机制。缓存在现代编程中的作用非常大&#xff0c;它能提高应用性能&#xff0c;减少数据库压力&#xff0c;简直就是性能优化的利器。而Guava提供的缓存功能&#xff0c;不仅强大…

【开源】基于JAVA的城市桥梁道路管理系统

项目编号&#xff1a; S 025 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S025&#xff0c;文末获取源码。} 项目编号&#xff1a;S025&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询城市桥…

数据结构(超详细讲解!!)第二十六节 图(中)

1.存储结构 1.邻接矩阵 图的邻接矩阵表示法&#xff08;Adjacency Matrix&#xff09;也称作数组表示法。它采用两个数组来表示图&#xff1a; 一个是用于存储顶点信息的一维数组&#xff1b;另一个是用于存储图中顶点之间关联关系的二维数组&#xff0c;这个关联关系数组被…

基于ROPNet项目训练modelnet40数据集进行3d点云的配置

项目地址&#xff1a; https://github.com/zhulf0804/ROPNet 在 MVP Registration Challenge (ICCV Workshop 2021)&#xff08;ICCV Workshop 2021&#xff09;中获得了第二名。项目可以在win10环境下运行。 论文地址&#xff1a; https://arxiv.org/abs/2107.02583 网络简介…

vue2项目中添加字体文件

vue2项目中添加字体文件 1、下载相关文件&#xff0c;放置文件夹中&#xff0c;这里我是在assets文件中新建了fontFamily 2、在assets文件中新建css文件 3、在页面中使用 <style lang"less" scoped> import ../../assets/css/fonts.less;.total-wrap {displa…

深度学习火车票识别系统 计算机竞赛

文章目录 0 前言1 课题意义课题难点&#xff1a; 2 实现方法2.1 图像预处理2.2 字符分割2.3 字符识别部分实现代码 3 实现效果4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 图像识别 火车票识别系统 该项目较为新颖&#xff0c;适…

详细介绍如何使用 SSD 进行实时物体检测:单次 MultiBox 探测器-含源码

介绍 在实时对象检测中,主流范例传统上采用多步骤方法,包括边界框、像素或特征重采样以及高质量分类器应用的提议。虽然这种方法已经实现了高精度,但其计算需求往往阻碍了其对实时应用的适用性。然而,单次多框检测器 (SSD) 代表了基于深度学习的对象检测的突破性飞跃。SSD…

rust中动态数组Vec的简单使用

在Rust中&#xff0c;Vector&#xff08;简称Vec&#xff09;是一个动态数组数据结构&#xff0c;它可以动态地增加或减少其容量。Vec是Rust标准库中的一个常见类型&#xff0c;非常适合用于存储和操作一系列相同类型的值。 Vec其实是一个智能指针&#xff0c;用于在堆上分配内…

自定义软件app定制开发的需求和趋势|企业网站小程序搭建

自定义软件app定制开发的需求和趋势|企业网站小程序搭建 随着智能手机的普及和移动互联网的快速发展&#xff0c;移动应用程序&#xff08;App&#xff09;成为人们日常生活和工作中必不可少的一部分。然而&#xff0c;市面上已有的应用程序并不能完全满足用户的个性化需求&…

编写测试用例的17个技巧

1、前言 测试用例是任何测试周期的第一步&#xff0c;对任何项目都非常重要。如果在此步骤中出现任何问题&#xff0c;则在整个软件测试过程中都会扩大影响。如果测试人员在创建测试用例模板时使用正确的过程和准则&#xff0c;则可以避免这种情况。 在本文中将分享一些简单而…

synchronized底层原理(一)

文章目录 1. 问题引入2. 相关概念3. Synchronized使用4. Synchronized底层原理1. 简介2. Monitor&#xff08;管程/监视器&#xff09;3. Java语言的内置管程synchronized4. Java对象的内存布局5. 如何使用MarkWord记录锁状态6. 偏向锁7. 轻量级锁 1. 问题引入 假设我们有1000…

PostGIS学习教程十:空间索引

PostGIS学习教程十&#xff1a;空间索引 回想一下&#xff0c;空间索引是空间数据库的三个关键特性之一。空间索引使得使用空间数据库存储大型数据集成为可能。在没有空间索引的情况下&#xff0c;对要素的任何搜索都需要对数据库中的每条记录进行"顺序扫描"。索引通…

在gitlab中使用gitlab-sshd替换ssh服务

参考&#xff1a;https://docs.gitlab.com/ee/administration/operations/gitlab_sshd.html 说明 gitlab-sshd 是 OpenSSH 的轻量级替代品&#xff0c;用于提供 SSH 操作。虽然 OpenSSH 使用受限的 shell 方法&#xff0c;但 gitlab-sshd 的行为更像是一个现代的多线程服务器应…

mabatis基于xml方式和注解方式实现多表查询

前面步骤 http://t.csdnimg.cn/IPXMY 1、解释 在数据库中&#xff0c;单表的操作是最简单的&#xff0c;但是在实际业务中最少也有十几张表&#xff0c;并且表与表之间常常相互间联系&#xff1b; 一对一、一对多、多对多是表与表之间的常见的关系。 一对一&#xff1a;一张…

【Maven】安装和使用

1. Maven 概述 Maven 是一款用于管理和构建 java 项目的工具&#xff0c;可以进行依赖管理、统一项目结构和项目构建。 1.1 Maven 模型 项目对象模型 (Project Object Model)依赖管理模型(Dependency)构建生命周期/阶段(Build lifecycle & phases) 1.2 Maven 仓库 仓库的…

ROS2教程01 ROS2介绍

ROS2介绍 版权信息 Copyright 2023 Herman YeAuromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other materials, are protected by copyright law. The author holds all right…

高级搜索——伸展树Splay详解

文章目录 伸展树Splay伸展树Splay的定义局部性原理Splay的伸展操作逐层伸展双层伸展zig-zig/zag-zagzig-zag/zag-zigzig/zag双层伸展的效果与效率 伸展树的实现动态版本实现递增分配器节点定义Splay类及其接口定义伸展操作左单旋右单旋右左/左右双旋伸展 查找操作删除操作插入操…

【laBVIEW学习】4.声音播放,自定义图标,滚动条设置,保存参数以及恢复参数

一。声音播放&#xff08;报错&#xff0c;未实现&#xff09; 1.报错4810 2.解决方法&#xff1a; 暂时未解决。 二。图片修改 1.目标&#xff1a;灯泡---》自定义灯泡 2.步骤&#xff1a; 1.右键点击--》自定义运行 表示可以制作自定义类型 2.右键--》打开自定义类型 这样就…

【Qt开发流程】之对象模型2:属性系统

描述 Qt提供了一个复杂的属性系统&#xff0c;类似于一些编译器供应商提供的属性系统。然而&#xff0c;作为一个独立于编译器和平台的库&#xff0c;Qt不依赖于非标准的编译器特性&#xff0c;如__property或[property]。 Qt解决方案适用于Qt支持的所有平台上的任何标准c编译…

java的GUI基础使用

java.awt包提供了基本的GUI设计工具&#xff0c;主要包括组件&#xff08;Component&#xff09;、容器&#xff08;Container&#xff09;和布局管理器&#xff08;LayoutManager&#xff09;&#xff1b; Java的图形用户界面的最基本组成部分是组件&#xff08;Component&…