一个基于SpringBoot+vue的学生信息管理系统详细设计 |
您所在的位置:网站首页 › 学生管理系统架构设计图模板 › 一个基于SpringBoot+vue的学生信息管理系统详细设计 |
🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 前言介绍: 在当今信息社会发展中中,计算机科学的飞速发展,大多数学校开始注意办公效率的发展是很关键,对学校的管理起到举足轻重的作用。基于 Internet 网络的信息服务,快速成长为现代学校中一项不可或缺的内容措施。很多校园都已经不满意商务办公管理的缓慢成长方式。学院的需求是一个功能强大的,能提供完善管理,管理信息系统的速度。社会持续向前发展,尤其是大多地方普及计算机,计算机应用已经开始向大容量的数据存储与处理持续发展,产生了以计算机为核心,用数据库作为环境的管理信息现代化系统,事务管理方面用大容量和对各种信息动态管理等方面的综合应用。建立学校学生管理系统能够对学校职员对学生信息的管理更为规范化和合理化。能有效快速记录大量的学生得信息, 能对学生用户能够运用简便的方法快速的查到他们所需要的课程信息,并且能够发布通知等一系列功能,实现了由传统人工转向办公向信息自动化。因此用 Java相关开发工具,精心构建了一个学生信息管理平台,实现了一个简单的管理系统。该系统能实现学生的管理、课程的管理、成绩管理、课程选报情况管理、系统用户的管理;能够实现学生报课程的查询、已选报课程成绩的查询、个人信息查询修改等功能、学生信息管理系统的完成给学校管理人员们和学生提供了很多的便利, 能够更好的提高教学质量,其科学性以及合理性对学校的发展有着举足轻重的作用。 视频演示 :java毕业设计-学生信息管理系统(springboot+vue前后端分离实现).mp4https://www.bilibili.com/video/BV1LQ4y1i7aW ![]() https://www.bilibili.com/video/BV1LQ4y1i7aW ![]() 主要功能截图: 用户登录、输入账号密码进行验证和用户角色判断、不同角色不同菜单权限 ![]() 首页介绍:可以定义成自己喜欢的样子 ![]() 数据展示:echarts模拟树状图和折线图以及分布图等、可以从后台动态获取数据。 ![]() ![]() 学习组织架构:列表可折叠、添加、修改、删除、查询功能齐全。 ![]() ![]() 用户管理:查看、添加、修改等 ![]() ![]() 用户角色管理:用户绑定角色、角色绑定菜单权限显示、灵活控制 ![]() ![]() 菜单管理:权限控制到按钮级别。 ![]() 选择菜单类型是目录、菜单或者按钮。 ![]() sql监控:阿里的SQL监控API ![]() 日志查询:AOP切面日志、绑定到controller层添加注解就行。 ![]() 学生教师管理:录入数据、添加、修改、删除、查询等 ![]() 添加老师信息: ![]() 学生管理:录入数据、添加、修改、删除、查询等 ![]() 添加学生信息: ![]() 班级管理:添加、修改、删除、查询等 ![]() 课程管理:添加、修改、删除、查询等 ![]() 添加修改课程信息: ![]() 学生课程选择:学生用户可以选课 ![]() 课程成绩打分:老师对选课的同学成绩进行打分。 ![]() 查看我的课程成绩信息: ![]() 学校通知公告信息:添加、修改、删除、查询等、利用富文本进行数据上传和显示 ![]() ![]() 学校新闻管理: ![]() ![]() 图书资料上传下载: ![]() 附件查看预览下载: ![]() 修改密码: ![]() 主要代码展示: 用户登录验证 代码语言:javascript复制/** * 登录相关 * * @author lyy */ @RestController public class SysLoginController extends AbstractController { @Autowired private SysUserService sysUserService; @Autowired private SysUserTokenService sysUserTokenService; @Autowired private SysCaptchaService sysCaptchaService; /** * 验证码 */ @GetMapping("captcha.jpg") public void captcha(HttpServletResponse response, String uuid)throws IOException { response.setHeader("Cache-Control", "no-store, no-cache"); response.setContentType("image/jpeg"); //获取图片验证码 BufferedImage image = sysCaptchaService.getCaptcha(uuid); ServletOutputStream out = response.getOutputStream(); ImageIO.write(image, "jpg", out); IOUtils.closeQuietly(out); } /** * 登录 */ @PostMapping("/sys/login") public Map login(@RequestBody SysLoginForm form)throws IOException { boolean captcha = sysCaptchaService.validate(form.getUuid(), form.getCaptcha()); // if(!captcha){ // return R.error("验证码不正确"); // } //用户信息 SysUserEntity user = sysUserService.queryByUserName(form.getUsername()); //账号不存在、密码错误 if(user == null || !user.getPassword().equals(new Sha256Hash(form.getPassword(), user.getSalt()).toHex())) { return R.error("账号或密码不正确"); } //账号锁定 if(user.getStatus() == 0){ return R.error("账号已被锁定,请联系管理员"); } //生成token,并保存到数据库 R r = sysUserTokenService.createToken(user.getUserId()); return r; } /** * 退出 */ @PostMapping("/sys/logout") public R logout() { sysUserTokenService.logout(getUserId()); return R.ok(); }前端VUE+element表单: 代码语言:javascript复制学生信息管理登录权限控制: 代码语言:javascript复制 @Bean("shiroFilter") public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) { ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean(); shiroFilter.setSecurityManager(securityManager); //oauth过滤 Map filters = new HashMap(); filters.put("oauth2", new OAuth2Filter()); shiroFilter.setFilters(filters); Map filterMap = new LinkedHashMap(); filterMap.put("/webjars/**", "anon"); filterMap.put("/druid/**", "anon"); filterMap.put("/app/**", "anon"); filterMap.put("/sys/login", "anon"); filterMap.put("/swagger/**", "anon"); filterMap.put("/v2/api-docs", "anon"); filterMap.put("/swagger-ui.html", "anon"); filterMap.put("/swagger-resources/**", "anon"); filterMap.put("/captcha.jpg", "anon"); filterMap.put("/aaa.txt", "anon"); filterMap.put("/virtuel/**", "anon"); filterMap.put("/**", "oauth2"); shiroFilter.setFilterChainDefinitionMap(filterMap); return shiroFilter; }数据库连接配置: 代码语言:javascript复制spring: datasource: type: com.alibaba.druid.pool.DruidDataSource druid: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/renren_students?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: 123456 initial-size: 10 max-active: 100 min-idle: 10 max-wait: 60000 pool-prepared-statements: true max-pool-prepared-statement-per-connection-size: 20 time-between-eviction-runs-millis: 60000 min-evictable-idle-time-millis: 300000 #Oracle需要打开注释 #validation-query: SELECT 1 FROM DUAL test-while-idle: true test-on-borrow: false test-on-return: false stat-view-servlet: enabled: true url-pattern: /druid/* #login-username: admin #login-password: admin filter: stat: log-slow-sql: true slow-sql-millis: 1000 merge-sql: false wall: config: multi-statement-allow: true数据库表结构文档: 数据库名:renren_students 文档版本:V1.0.0 文档描述:数据库表设计描述 表cla编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 name varchar 255 0 Y N 3 class_num varchar 255 0 Y N 4 user_nums varchar 255 0 Y N 表course编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 name varchar 255 0 Y N 3 teacher_num varchar 255 0 Y N 4 sk_time datetime 19 0 Y N 5 sk_place varchar 255 0 Y N 6 weeks_number varchar 255 0 Y N 7 kc_type varchar 255 0 Y N 8 faculty varchar 255 0 Y N 9 score varchar 255 0 Y N 10 bz varchar 255 0 Y N 表dj_news编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 title varchar 255 0 Y N 标题 3 ty varchar 255 0 Y N 类型 4 create_time datetime 19 0 Y N 发布时间 5 unit varchar 255 0 Y N 发布单位 6 num varchar 255 0 Y N 发布编号 7 content mediumtext 16777215 0 Y N 主要内容 8 create_by varchar 255 0 Y N 发布人 9 bz varchar 255 0 Y N 备注信息 10 kind varchar 255 0 Y N 种类(党建要闻 组织风采 ) 表file编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 path varchar 255 0 Y N 3 file_name varchar 255 0 Y N 4 file_type varchar 255 0 Y N 5 classify varchar 255 0 Y N 6 create_time datetime 19 0 Y N 7 create_by varchar 255 0 Y N 表inform编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 title varchar 255 0 Y N 3 content text 65535 0 Y N 4 create_time timestamp 19 0 Y N CURRENT_TIMESTAMP 5 create_by varchar 255 0 Y N 6 bz varchar 255 0 Y N 表my_course编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 name varchar 255 0 Y N 3 teacher_num varchar 255 0 Y N 4 sk_time datetime 19 0 Y N 5 sk_place varchar 255 0 Y N 6 weeks_number varchar 255 0 Y N 7 kc_type varchar 255 0 Y N 8 faculty varchar 255 0 Y N 9 score varchar 255 0 Y N 10 bz varchar 255 0 Y N 11 user_id int 10 0 Y N 12 user_name varchar 255 0 Y N 13 user_score varchar 255 0 Y N 表student编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 name varchar 255 0 Y N 3 sex varchar 255 0 Y N 4 birth_date datetime 19 0 Y N 5 ruxue_date datetime 19 0 Y N 6 college varchar 255 0 Y N 7 bz varchar 255 0 Y N 8 cla_name varchar 255 0 Y N 表sys_captcha (系统验证码)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 uuid char 36 0 N Y uuid 2 code varchar 6 0 N N 验证码 3 expire_time datetime 19 0 Y N 过期时间 表sys_config (系统配置信息表)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id bigint 20 0 N Y 2 param_key varchar 50 0 Y N key 3 param_value varchar 2000 0 Y N value 4 status tinyint 4 0 Y N 1 状态 0:隐藏 1:显示 5 remark varchar 500 0 Y N 备注 表sys_dept (部门管理)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 dept_id bigint 20 0 N Y 2 parent_id bigint 20 0 Y N 上级部门ID,一级部门为0 3 name varchar 50 0 Y N 部门名称 4 order_num int 10 0 Y N 排序 5 del_flag tinyint 4 0 Y N 0 是否删除 -1:已删除 0:正常 6 remark varchar 255 0 Y N 表sys_log (系统日志)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id bigint 20 0 N Y 2 username varchar 50 0 Y N 用户名 3 operation varchar 50 0 Y N 用户操作 4 method varchar 200 0 Y N 请求方法 5 params varchar 5000 0 Y N 请求参数 6 time bigint 20 0 N N 执行时长(毫秒) 7 ip varchar 64 0 Y N IP地址 8 create_date datetime 19 0 Y N 创建时间 表sys_menu (菜单管理)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 menu_id bigint 20 0 N Y 2 parent_id bigint 20 0 Y N 父菜单ID,一级菜单为0 3 name varchar 50 0 Y N 菜单名称 4 url varchar 200 0 Y N 菜单URL 5 perms varchar 500 0 Y N 授权(多个用逗号分隔,如:user:list,user:create) 6 type int 10 0 Y N 类型 0:目录 1:菜单 2:按钮 7 icon varchar 50 0 Y N 菜单图标 8 order_num int 10 0 Y N 排序 表sys_oss (文件上传)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id bigint 20 0 N Y 2 url varchar 200 0 Y N URL地址 3 create_date datetime 19 0 Y N 创建时间 表sys_role (角色)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 role_id bigint 20 0 N Y 2 role_name varchar 100 0 Y N 角色名称 3 remark varchar 100 0 Y N 备注 4 create_user_id bigint 20 0 Y N 创建者ID 5 create_time datetime 19 0 Y N 创建时间 6 dept_id int 10 0 Y N 表sys_role_dept (角色与部门对应关系)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id bigint 20 0 N Y 2 role_id bigint 20 0 Y N 角色ID 3 dept_id bigint 20 0 Y N 部门ID 表sys_role_menu (角色与菜单对应关系)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id bigint 20 0 N Y 2 role_id bigint 20 0 Y N 角色ID 3 menu_id bigint 20 0 Y N 菜单ID 表sys_user (系统用户)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 user_id bigint 20 0 N Y 2 username varchar 50 0 N N 用户名 3 password varchar 100 0 Y N 密码 4 salt varchar 20 0 Y N 盐 5 varchar 100 0 Y N 邮箱 6 mobile varchar 100 0 Y N 手机号 7 status tinyint 4 0 Y N 状态 0:禁用 1:正常 8 create_user_id bigint 20 0 Y N 创建者ID 9 create_time datetime 19 0 Y N 创建时间 10 dept_id int 10 0 Y N 11 stage varchar 255 0 Y N 12 parent_name varchar 255 0 Y N 部门名称 表sys_user_role (用户与角色对应关系)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id bigint 20 0 N Y 2 user_id bigint 20 0 Y N 用户ID 3 role_id bigint 20 0 Y N 角色ID 表sys_user_token (系统用户Token)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 user_id bigint 20 0 N Y 2 token varchar 100 0 N N token 3 expire_time datetime 19 0 Y N 过期时间 4 update_time datetime 19 0 Y N 更新时间 表tb_user (用户)编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 user_id bigint 20 0 N Y 2 username varchar 50 0 N N 用户名 3 mobile varchar 20 0 N N 手机号 4 password varchar 64 0 Y N 密码 5 create_time datetime 19 0 Y N 创建时间 表teacher编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 id int 10 0 N Y 2 name varchar 255 0 Y N 3 sex varchar 255 0 Y N 4 birthdate datetime 19 0 Y N 出生日期 5 education varchar 255 0 Y N 学历 6 position varchar 255 0 Y N 7 ruzhi_date datetime 19 0 Y N 8 college varchar 255 0 Y N 9 bz varchar 255 0 Y N 课程设计总结: 经过近期对Java 面向对象程序设计、前端知识以及Java框架的掌握和学习,以及这段时间本教育教学系统的开发,让我更加了解到 Java 学习的重要性。在开发这个系统时,我不仅进行了多次的试验,而且也对系统的功能进行了测试。在论文的实现过程当中,我从Java的认识到熟练运用注入了非常多的努力,到后面可以进行相关技术的运用也感到非常的开心。在这过程当中,我发现Java其实有非常之多的功能可以进行探索。Java同时具有封装性、抽象性、多态性以及继承性。可以对代码进行重复使用以及扩充使用,大幅度提高开发软件时的整体速度和效率。我作为教育技术学的学生,学好Java语言不管对我以后的就业还是现在的知识面的扩增都有着很重要的意义。我学习程序设计的主要目的就是提高自己实际问题的程序解决方案的关键技能和技术, Java 面向对象程序设计是一科实践性相对来说非常比较强的语言了、Springboot、SpringMVC框架的MVC三层架构模式、和框架中遇到的设计模式将数据访问和逻辑操作都集中到组件里面去了 , 增强了系统的复用性和扩展性。使系统的扩展性大大增强。以及前端VUE 、element、jQuery样式的掌握让我对网页的布局、样式调整、字体等让网页效果实现的更加精准。 在实现系统的过程中,我意识到现在个人隐私安全越发重视,学生管理系统应该拥有验证码安全机制以及打印功能。虽然在本次系统的实现中,我没来得及对这些功能进行探索,但本管理系统后期会将添加安全验证机制。 获取源码联系: 大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻微信公众号获取联系方式👇🏻👇🏻👇🏻 打卡 文章 更新 110/ 365天 精彩专栏推荐订阅:在下方专栏👇🏻👇🏻👇🏻👇🏻 Java项目精品实战案例《100套》https://blog.csdn.net/weixin_39709134/category_11128297.html https://blog.csdn.net/weixin_39709134/category_11128297.html web前端期末大作业网页实战《100套》https://blog.csdn.net/weixin_39709134/category_11374891.html https://blog.csdn.net/weixin_39709134/category_11374891.html 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181102.html原文链接:https://javaforall.cn |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |