基于springboot+vue的信息技术知识赛系统
博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战
主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
项目介绍:
本系统适合选题:信息技术、知识赛、知识、前后端分离等。系统采用springboot+vue整合开发,前端框架主要使用了element-ui框架、数据层采用mybatis,功能齐全,界面美观。
功能介绍:

系统包含技术:
后端:springboot,mybatis
前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8
部分截图说明:
下面是首页

在线学习

详情

赛事论坛

赛事信息

赛事详情

测券列表

登录

赛事类型管理

赛事信息管理

在线学习管理

赛事论坛管理

部分代码:
/*** 后端列表*/@RequestMapping("/page")@IgnoreAuthpublic R page(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));if(params.get("orderBy")==null || params.get("orderBy")==""){params.put("orderBy","id");}PageUtils page = dictionaryService.queryPage(params);//字典表数据转换List<DictionaryView> list =(List<DictionaryView>)page.getList();for(DictionaryView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put("data", page);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);DictionaryEntity dictionary = dictionaryService.selectById(id);if(dictionary !=null){//entity转viewDictionaryView view = new DictionaryView();BeanUtils.copyProperties( dictionary , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody DictionaryEntity dictionary, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,dictionary:{}",this.getClass().getName(),dictionary.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");Wrapper<DictionaryEntity> queryWrapper = new EntityWrapper<DictionaryEntity>().eq("dic_code", dictionary.getDicCode()).eq("index_name", dictionary.getIndexName());if(dictionary.getDicCode().contains("_erji_types")){queryWrapper.eq("super_id",dictionary.getSuperId());}logger.info("sql语句:"+queryWrapper.getSqlSegment());DictionaryEntity dictionaryEntity = dictionaryService.selectOne(queryWrapper);if(dictionaryEntity==null){dictionary.setCreateTime(new Date());dictionaryService.insert(dictionary);//字典表新增数据,把数据再重新查出,放入监听器中List<DictionaryEntity> dictionaryEntities = dictionaryService.selectList(new EntityWrapper<DictionaryEntity>());ServletContext servletContext = request.getServletContext();Map<String, Map<Integer,String>> map = new HashMap<>();for(DictionaryEntity d :dictionaryEntities){Map<Integer, String> m = map.get(d.getDicCode());if(m ==null || m.isEmpty()){m = new HashMap<>();}m.put(d.getCodeIndex(),d.getIndexName());map.put(d.getDicCode(),m);}servletContext.setAttribute("dictionaryMap",map);return R.ok();}else {return R.error(511,"表中有相同数据");}}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody DictionaryEntity dictionary, HttpServletRequest request){logger.debug("update方法:,,Controller:{},,dictionary:{}",this.getClass().getName(),dictionary.toString());String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");//根据字段查询是否有相同数据Wrapper<DictionaryEntity> queryWrapper = new EntityWrapper<DictionaryEntity>().notIn("id",dictionary.getId()).eq("dic_code", dictionary.getDicCode()).eq("index_name", dictionary.getIndexName());if(dictionary.getDicCode().contains("_erji_types")){queryWrapper.eq("super_id",dictionary.getSuperId());}logger.info("sql语句:"+queryWrapper.getSqlSegment());DictionaryEntity dictionaryEntity = dictionaryService.selectOne(queryWrapper);if(dictionaryEntity==null){dictionaryService.updateById(dictionary);//根据id更新//如果字典表修改数据的话,把数据再重新查出,放入监听器中List<DictionaryEntity> dictionaryEntities = dictionaryService.selectList(new EntityWrapper<DictionaryEntity>());ServletContext servletContext = request.getServletContext();Map<String, Map<Integer,String>> map = new HashMap<>();for(DictionaryEntity d :dictionaryEntities){Map<Integer, String> m = map.get(d.getDicCode());if(m ==null || m.isEmpty()){m = new HashMap<>();}m.put(d.getCodeIndex(),d.getIndexName());map.put(d.getDicCode(),m);}servletContext.setAttribute("dictionaryMap",map);return R.ok();}else {return R.error(511,"表中有相同数据");}}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~
相关文章:
基于springboot+vue的信息技术知识赛系统
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...
基于YOLOv8模型的垃圾满溢检测系统(PyTorch+Pyside6+YOLOv8模型)
摘要:基于YOLOv8模型的垃圾满溢检测系统可用于日常生活中检测与定位车辆垃圾(garbage)、垃圾桶(garbage_bin)和垃圾满溢(overflow)目标,利用深度学习算法可实现图片、视频、摄像头等…...
面试算法14:字符串中的变位词
题目 输入字符串s1和s2,如何判断字符串s2中是否包含字符串s1的某个变位词?如果字符串s2中包含字符串s1的某个变位词,则字符串s1至少有一个变位词是字符串s2的子字符串。假设两个字符串中只包含英文小写字母。例如,字符串s1为&quo…...
中国社科院大学-美国杜兰大学金融管理硕士暨能源管理硕士项目2023年毕业典礼
中国社科院大学-美国杜兰大学金融管理硕士暨能源管理硕士项目2023年毕业典礼 2023年9月16日,中国社会科学院大学-美国杜兰大学金融管理硕士项目暨能源管理硕士项目2023年毕业典礼在我校望京校区成功举办。 张波副校长致辞 中国社会科学院大学副校长张波教授、杜兰大…...
蓝桥杯 题库 简单 每日十题 day10
01 最少砝码 最少砝码 问题描述 你有一架天平。现在你要设计一套砝码,使得利用这些砝码 可以出任意小于等于N的正整数重量。那么这套砝码最少需要包含多少个砝码? 注意砝码可以放在天平两边。 输入格式 输入包含一个正整数N。 输出格式 输出一个整数代表…...
聊聊并发编程——多线程之synchronized
目录 一.多线程下数据不一致问题 二.锁和synchronized 2.1 并发编程三大特性 2.2引入锁概念 三.synchronized的锁实现原理 3.1 monitorenter和monitorexit 3.2synchronized 锁的升级 3.2.1偏向锁的获取和撤销 3.2.2轻量级锁的加锁和解锁 自适应自旋锁 轻量级锁的解锁…...
CompletableFuture-通用异步编程
演示Completable接口完全可以代替Future接口: CompletableFuture减少阻塞和轮询,可以传入回调对象,当异步任务完成或者发生异常时,自动 调用回调对象的回调方法。 package com.nanjing.gulimall.zhouyimo.test;import java.util…...
Vue3 封装 element-plus 图标选择器
一、实现效果 二、实现步骤 2.1. 全局注册 icon 组件 // main.ts import App from ./App.vue; import { createApp } from vue; import * as ElementPlusIconsVue from element-plus/icons-vueconst app createApp(App);// 全局挂载和注册 element-plus 的所有 icon app.con…...
超详细C语言实现——通讯录
目录 一、介绍 二、源代码 test.c: Contact.c: Contact.h: 代码运行结果: 三、开始实现 1.基本框架: 2.添加联系人: 3.显示联系人信息: 4.删除联系人信息: 5.查看指定联系人信息: 6.修改联系人…...
zabbix监控添加监控项及其监控Mysql、nginx
本届主要介绍添加监控项和修改中文乱码,监控mysql,nginx服务 一、zabbix监控添加监控项 1、配置agent服务器 在配置文件中添加: UserParameterlsq_userd,free -m | grep Mem | awk { print $3 } 服务器内存使用量 UserParameterdu,…...
Docker 部署 MongoDB 服务
拉取最新版本的 MongoDB 镜像: $ sudo docker pull mongo:latest在本地预先创建好 db 和 configdb 目录, 用于映射 MongoDB 容器内的 /data/db 和 /data/configdb 目录。 使用以下命令来运行 MongoDB 容器: $ sudo docker run -itd --name mongo --privilegedtru…...
QUIC协议报文解析(三)
在前面的两篇文字里我们简单介绍了QUIC的发展历史,优点以及QUIC协议的连接原理。本篇文章将会以具体的QUIC报文为例,详细介绍QUIC报文的结构以及各个字段的含义。 早期QUIC版本众多,主要有谷歌家的gQUIC,以及IETF致力于将QUIC标准…...
pytorch迁移学习训练图像分类
pytorch迁移学习训练图像分类 一、环境配置二、迁移学习关键代码三、完整代码四、结果对比 代码和图片等资源均来源于哔哩哔哩up主:同济子豪兄 讲解视频:Pytorch迁移学习训练自己的图像分类模型 一、环境配置 1,安装所需的包 pip install …...
SQL 如何提取多级分类目录
前言 POI数据处理,原始数据为csv格式,整理入库至PostGreSQL,本例使用PostGreSQL13版本。 一、POI POI(一般作为Point of Interest的缩写,也有Point of Information的说法),通常称作兴趣点&am…...
从中序遍历和后序遍历构建二叉树
题目描述 106. 从中序与后序遍历序列构造二叉树 中等 1.1K 相关企业 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入࿱…...
《计算机视觉中的多视图几何》笔记(11)
11 Computation of the Fundamental Matrix F F F 本章讲述如何用数值方法在已知若干对应点的情况下求解基本矩阵 F F F。 文章目录 11 Computation of the Fundamental Matrix F F F11.1 Basic equations11.1.1 The singularity constraint11.1.2 The minimum case – sev…...
UE5 ChaosVehicles载具研究
一、基本组成 载具Actor类名称:WheeledVehiclePawn Actor最原始的结构 官方增加了两个摇臂相机,可以像驾驶游戏那样切换多机位、旋转观察 选择骨骼网格体、动画蓝图类、开启物理模拟 二、SportsCar_Pawn 角阻尼:物体旋转的阻力。数值越大…...
数据通信——应用层(域名系统)
引言 TCP到此就告一段落,这也意味着传输层结束了,紧随其后的就是TCP/IP五层架构的应用层。操作系统、编程语言、用户的可视化界面等等都要通过应用层来体现。应用层和我们息息相关,我们使用电子设备娱乐或办公时,接触到的就是应用…...
Visual Studio 更新:远程文件管理器
Visual Studio 中的远程文件管理器可以用来访问远程机器上的文件和文件夹,通过 Visual Studio 自带的连接管理器,可以实现不离开开发环境直接访问远程系统,这确实十分方便。 自从此功能发布以来,VS 开发团队努力工作,…...
ChatGPT追祖寻宗:GPT-3技术报告要点解读
论文地址:Language Models are Few-Shot Learners 往期相关文章: ChatGPT追祖寻宗:GPT-1论文要点解读_五点钟科技的博客-CSDN博客ChatGPT追祖寻宗:GPT-2论文要点解读_五点钟科技的博客-CSDN博客 本文的标题之所以取名技术报告而不…...
War3地图制作入门:不用写代码,用触发器和变量也能做出有趣玩法
War3地图制作入门:用触发器和变量打造专属游戏玩法 魔兽争霸3(War3)地图编辑器是游戏史上最强大的玩家创作工具之一,即使没有任何编程基础,也能通过触发器和变量系统创造出令人惊叹的游戏玩法。本文将带你从零开始&…...
终极SOCD解决方案:3分钟让你的游戏操作职业化
终极SOCD解决方案:3分钟让你的游戏操作职业化 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否在玩《街头霸王》时连招总是失败?在《Apex英雄》中急停转向时角色卡顿?《…...
从物理模型到代码:用MATLAB类轻松构建你的第一个仿真对象(比如弹簧振子)
从物理模型到代码:用MATLAB类轻松构建你的第一个仿真对象 理工科研究者常面临一个核心挑战:如何将复杂的物理系统转化为可计算的数学模型?以弹簧振子为例,这个看似简单的力学系统蕴含着丰富的物理规律。传统脚本式编程往往导致代码…...
RFSoC玩转跳频通信:从NCO配置到多片同步的实战指南(Zynq UltraScale+ RFSoC Gen 3)
RFSoC跳频通信实战:从NCO配置到多片同步的高级技巧 跳频通信技术在现代无线系统中扮演着关键角色,尤其在抗干扰和频谱感知应用中。Xilinx的Zynq UltraScale RFSoC Gen 3平台凭借其集成的RF数据转换器和灵活的数字信号处理能力,为跳频系统设计…...
NVDC充电器设计实战:从架构解析到动态负载响应的工程挑战
1. 项目概述:为什么NVDC充电器设计是个技术活最近在做一个项目,需要为一批采用NVDC(Narrow Voltage DC)架构的笔记本电脑设计配套的充电器。本以为就是个普通的电源适配器,照着规格书选型、画板、调试就完事了…...
6 个 AI Agent Skill 实战推荐:每天省出 2 小时的自动化方案
引言Agent 能帮我们做的事越来越多 -- 写文案、做封面、盯数据、找选题。但很多人装上 Agent 之后发现,它除了聊天和写几段文案,好像什么也干不了。问题不在 Agent。就像刚买回来的手机,没装 App 之前就是块砖。Agent 出厂自带的能力有限&…...
从VBS到VBE:一次搞懂Windows脚本编码器的前世今生与实战避坑
从VBS到VBE:Windows脚本编码器的技术考古与安全实践 在Windows系统管理的工具箱里,VBScript(VBS)曾经是自动化任务的瑞士军刀。尽管如今PowerShell和现代编程语言已成为主流,但理解VBScript及其编码器(VBE&…...
Vue项目部署后Nginx报500?手把手教你排查并修复‘rewrite or internal redirection cycle‘循环重定向
Vue项目部署后Nginx报500?手把手教你排查并修复rewrite or internal redirection cycle循环重定向 部署Vue项目时遇到Nginx报500错误,日志显示"rewrite or internal redirection cycle",这可能是许多前端开发者都会遇到的典型问题。…...
利用Taotoken CLI工具一键配置多开发环境与团队协作密钥
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken CLI工具一键配置多开发环境与团队协作密钥 基础教程类,指导团队负责人或希望简化配置流程的开发者使用Ta…...
Win10下通过桥接网卡实现QEMU虚拟机与宿主机及外网的无缝互联
1. 为什么需要桥接网卡? 在Windows 10环境下使用QEMU创建虚拟机时,很多朋友都会遇到一个头疼的问题:虚拟机虽然能上网,但宿主机和虚拟机之间就是无法互相访问。这种情况我遇到过太多次了,特别是需要调试web服务或者进行…...
