springboot(ssm大学生成绩管理系统 成绩管理平台Java(codeLW)
springboot(ssm大学生成绩管理系统 成绩管理平台Java(code&LW)
开发语言:Java
框架:ssm/springboot + vue
JDK版本:JDK1.8(或11)
服务器:tomcat
数据库:mysql 5.7(或8.0)
数据库工具:Navicat
开发软件:eclipse//idea
依赖管理包:Maven
您是否想要一个与众不同的网站?我这提供精美的基于springboot(ssm)+vue框架的网站源码,涵盖多个领域,采用轻量级数据库mysql,适用于个人学习等。
另外,如需了解更多代码细节或修改代码功能界面,本人都能提供技术支持。(声音嘎嘎好听喔!)
祝你早日找到合适的代码哦~
package com.controller;import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
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.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;/*** 登录相关*/
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user"));return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {return R.error("用户名已存在。");}userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}
相关文章:
springboot(ssm大学生成绩管理系统 成绩管理平台Java(codeLW)
springboot(ssm大学生成绩管理系统 成绩管理平台Java(code&LW) 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0&…...
SOME/IP 协议介绍(五)指南
指南(信息性) 选择传输协议 SOME/IP直接支持互联网上使用最广泛的两种传输协议:用户数据报协议(UDP)和传输控制协议(TCP)。UDP是一种非常简洁的传输协议,仅支持最重要的功能&#…...
Python调用企微机器人: 发送常用格式汇总
企微接口文档 发送应用消息 - 接口文档 - 企业微信开发者中心 发送格式 应用支持推送文本、图片、视频、文件、图文等类型。 ~~~以下列举常用格式 示例~~~ 1.发送文本 代码如下: def sendtxt_robotmsg(self):# 正式keywx_key "xx"wx_webhookurl htt…...
论文阅读——DiffusionDet
在目标检测上使用扩散模型 前向过程:真实框-->随机框 后向过程:随机框-->真实框 前向过程: 一般一张图片真实框的数目不同,填补到同一的N个框,填补方法可以是重复真实框,填补和图片大小一样的框&a…...
elmenetui表格二次封装包含查询框和分页
<!--dataList: 表格数据columnList: 表头字段 宽度minWidth使用slotName字段: 需要对列数据进行处理,不写prop字段,使用slotName字段btnText<String>: 按钮字段btnIcon<String>: 按钮的iconbtnEvent: 按钮事件btnType: 按钮类型getHeigh…...
【机器学习Python实战】线性回归
🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习python实战 欢迎订阅!后面的内容会越来越有意思~ ⭐内容说明:本专栏主要针对机器学习专栏的基础内容进行python的实现,部分…...
做外贸这么久,为什么一直做不好?
很多外贸业务员在开发客户过程中,总感觉自己做了很多事情,聊了很多客户,但却总是拿不到单子。 其实,这是由于缺乏对采购商心理的认识程度,没有换位思考,该做的事没做,不该做的事却忙得忘乎所以&…...
IPv4数据报格式
IPv4是IP协议的第四个版本(版本1-3和版本5都未曾使用过)IP地址不能反映任何有关主机位置的地理信息以前还有个逆地址解析协议RAPR(Reverse APR),它的作用是使只知道自己MAC地址的主机能通过RAPR找到其IP地址,而现在的DHCP(Dynamic Host Configuration Pr…...
搭建网关服务器实现DHCP自动分配、HTTP服务和免密登录
目录 一. 实验要求 二. 实验准备 三. 实验过程 1. 网关服务器新建网卡并改为仅主机模式 2. 修改新建网卡IP配置文件并重启服务 3. 搭建网关服务器的dhcp服务 4. 修改server2网卡配置文件重启服务并效验 5. 设置主机1的网络连接为仅主机模式 6. 给server2和网关服务器之…...
【18年扬大真题】给定有m个整数的递增有序数组a和有n个整数的递减有序数组b,将a数组和b数组归并为递增有序的数组c
【18年扬大真题】 给定有m个整数的递增有序数组a和有n个整数的递减有序数组b, 将a数组和b数组归并为递增有序的数组c。 void Merge(int arr[],int m ,int brr[],int n,int crr[]) {int i 0;int j n-1;int k 0;while(i < m&&j > 0) {if (arr[i] &l…...
图片叠加_图片压缩
图片叠加 try {/* 1 读取第一张图片*/File fileOne new File("1.png");BufferedImage imageFirst ImageIO.read(fileOne);/* 2读取第二张图片 */File fileTwo new File("2.png");BufferedImage imageSecond ImageIO.read(fileTwo);//创建一个最底层画…...
Mybatis-Plus《学习笔记 22版尚硅谷 》——感谢【尚硅谷】官方文档
Mybatis-Plus《学习笔记 22版尚硅谷 》 一、MyBatis-Plus1.简介2.特性3.支持数据库4.框架结构5.官方地址 二、入门案例1.开发环境2.建库建表3.创建工程4.配置编码5.测试查询 三、增删改查1.BaseMapper<T>2.调用Mapper层实现CRUD2.1 插入2.2 删除a、根据ID删除数据b、根据…...
git安装后报git: ‘remote-https‘ is not a git command. See ‘git --help‘.
1. 问题说明 使用的是linux系统,采用编译安装的方式进行安装,安装完成clone项目后提示“git: ‘remote-https’ is not a git command. See ‘git --help’.” 2. 问题解决 需要安装1个额外的库:libcurl4-openssl-de sudo apt-get install …...
场景交互与场景漫游-交运算与对象选取(8-1)
交运算与对象选取 在面对大规模的场景管理时,场景图形的交运算和图形对象的拾取变成了一项基本工作。OSG作为一个场景管理系统,自然也实现了场景图形的交运算,交运算主要封装在osgUtil 工具中在OSG中,osgUtil是一个非常强有力的工…...
Vue中动态Class实战
效果展示 需求 想实现一个假如有5个div块,默认都是灰色,鼠标悬浮到哪个div上,那个div就显示为黑色。 具体的实现业务逻辑可根据这个进行演变 设计 通过动态 class 类名来实现,实现鼠标悬浮到div时动态绑定class 版本 Vue 3.…...
B站短视频如何去水印?一键解析下载B站视频!
在浏览B站视频时,我们有时会遇到带有水印的场景。这些水印可能会干扰我们对视频内容的观看体验,特别是在全屏观看时。此外,当我们想要保存或分享这些视频时,水印也会成为一种障碍。因此,去除水印的需求就变得非常迫切。…...
最大子段和(分治法+动态规划法)
求最大子段和 此类问题通常是求数列中连续子段和的最大值,经典的股票问题就是考察的这个思想及拓展。 例题: AcWing:1054. 股票买卖 Leetcode:53. 最大子数组和 分治法O(nlogn) 此类问题时分适合采用分治思想,因为所有子区间 [ s t a r t …...
内置函数和消息传递API
消息传递范式 消息函数、聚合函数与更新函数 消息函数接受一个参数 edges,这是一个 EdgeBatch 的实例, 在消息传递时,它被DGL在内部生成以表示一批边。edges 有 src、 dst 和 data 共3个成员属性, 分别用于访问源节点、目标节点…...
不标年份的葡萄酒质量好吗?
我们在葡萄酒标上经常看到生产年份,也就是指全部葡萄采摘的年份。旧世界葡萄酒产国认为葡萄酒年份对他们的影响较大,而新世界葡萄酒,年份的意义就稍微小些。甚至有一部分葡萄酒酒标上没有年份。在酒标上没有标注年份的葡萄酒,被称…...
2023年【高处安装、维护、拆除】模拟考试题及高处安装、维护、拆除模拟考试题库
题库来源:安全生产模拟考试一点通公众号小程序 2023年【高处安装、维护、拆除】模拟考试题及高处安装、维护、拆除模拟考试题库,包含高处安装、维护、拆除模拟考试题答案和解析及高处安装、维护、拆除模拟考试题库练习。安全生产模拟考试一点通结合国家…...
PySpur工作流追踪终极指南:实时监控AI代理执行过程的10个技巧
PySpur工作流追踪终极指南:实时监控AI代理执行过程的10个技巧 【免费下载链接】pyspur Minimalist AI Agent Graph UI 项目地址: https://gitcode.com/gh_mirrors/py/pyspur PySpur是一个极简主义的AI代理图形化界面工具,专为构建和监控复杂AI工作…...
变压器差动保护MATLAB/simulink仿真 变压器差动保护仿真➕报告
变压器差动保护MATLAB/simulink仿真 变压器差动保护仿真➕报告第一部分:Simulink 仿真模型搭建指南 以下是变压器差动保护的Simulink模型搭建步骤及核心代码,包含模型参数设置、差动逻辑实现和仿真分析: 一、Simulink模型搭建 打开MATLAB&…...
Z-Image-Turbo_Sugar脸部Lora效果增强:ControlNet+Lora联合调控Sugar脸部结构
Z-Image-Turbo_Sugar脸部Lora效果增强:ControlNetLora联合调控Sugar脸部结构 想生成那种又纯又欲、甜度爆表的Sugar风格脸部图片吗?是不是经常遇到模型生成的脸型不够精致、五官比例失调,或者风格不够统一的问题?今天,…...
Marin说PCB之GMSL2 POC电路优化实战---从仿真到测试的完整解析
1. GMSL2 POC电路问题诊断与优化思路 最近在测试GMSL2 POC电路时遇到了一个典型问题:多路信号的插损(S21)和回损(S11)指标不达标。这种情况在实际项目中并不少见,但每次遇到都需要我们仔细分析原因并找到有…...
实测避坑:用华为Atlas 300I DUO推理卡跑Qwen1.5-14B,性能对比3090和配置踩坑全记录
华为Atlas 300I DUO推理卡实战评测:Qwen1.5-14B部署全流程与性能深度对比 当国产AI加速卡遇上千亿参数大模型,会碰撞出怎样的火花?最近半年,我陆续测试了市面上主流的7款推理加速设备,这次终于轮到华为Atlas 300I DUO这…...
掌握Calibre电子书管理:从格式转换到高级编辑的完整指南
掌握Calibre电子书管理:从格式转换到高级编辑的完整指南 【免费下载链接】calibre The official source code repository for the calibre ebook manager 项目地址: https://gitcode.com/GitHub_Trending/ca/calibre Calibre是一款功能强大的开源电子书管理器…...
zteOnu:核心功能全解析与实战指南
zteOnu:核心功能全解析与实战指南 【免费下载链接】zteOnu 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 解锁高级配置:工厂模式激活指南 场景描述 网络管理员在配置中兴光猫时,发现普通用户权限无法修改关键网络参数&…...
硬件调试新纪元:85%效率提升的AMD Ryzen系统优化方案
硬件调试新纪元:85%效率提升的AMD Ryzen系统优化方案 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://git…...
WindowsCleaner终极指南:5分钟解决C盘爆红的开源磁盘清理工具
WindowsCleaner终极指南:5分钟解决C盘爆红的开源磁盘清理工具 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否也经常被Windows系统弹出的"…...
拯救你的RStudio Server:除了点‘Terminate R’,你还可以试试这几招(附原理)
拯救你的RStudio Server:除了点‘Terminate R’,你还可以试试这几招(附原理) 当你盯着RStudio Server界面上那个转个不停的加载图标,看着"R is taking longer to start than usual"的提示,内心可…...
