文末获取源码

开发语言:Java

框架:springboot

JDK版本:JDK1.8

服务器:tomcat7

数据库:mysql 5.7/8.0

数据库工具:Navicat11

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.3.9

浏览器:谷歌浏览器

前言介绍

系统采用了Java技术,springboot + vue 的前后端分离学生选课系统,前端使用 element-ui 组件库,选择MySQL作为系统的数据库,开发工具选择 idea来进行系统的设计。基本实现了学生选课系统应有的主要功能模块,本系统有以下功能:

(1)前台:首页、课程信息、校园论坛、校园公告、个人中心、后台管理。

(2)管理员:首页、个人中心、学生管理、教师管理课、程信息管理、课程分类管理、选课信息管理、作业信息管理、提交作业管理、学生成绩管理、校园论坛、系统管理。

(3)学生:首页、个人中心、选课信息管理、作业信息管理、提交作业管理、学生成绩管理、我的收藏管理。

(4)教师:首页、个人中心、课程信息管理、选课信息管理、作业信息管理、提交作业管理、学生成绩管理。

系统展示

前台

课程信息

管理员功能

登录

课程信息管理

选课信息管理

校园论坛

学生功能

作业信息管理

学生成绩管理

教师

课程信息管理

部分核心代码

# Tomcat
server:tomcat:uri-encoding: UTF-8port: 8080servlet:context-path: /springbootwxjjvspring:datasource:driverClassName: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/springbootwxjjv?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8username: rootpassword:#        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
#        url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=springbootwxjjv
#        username: sa
#        password: 123456servlet:multipart:max-file-size: 300MBmax-request-size: 300MBresources:static-locations: classpath:static/,file:static/#mybatis
mybatis-plus:mapper-locations: classpath*:mapper/*.xml#实体扫描,多个package用逗号或者分号分隔typeAliasesPackage: com.entityglobal-config:#主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";id-type: 1#字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"field-strategy: 1#驼峰下划线转换db-column-underline: true#刷新mapper 调试神器refresh-mapper: true#逻辑删除配置logic-delete-value: -1logic-not-delete-value: 0#自定义SQL注入器sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjectorconfiguration:map-underscore-to-camel-case: truecache-enabled: falsecall-setters-on-nulls: true#springboot 项目mybatis plus 设置 jdbcTypeForNull (oracle数据库需配置JdbcType.NULL, 默认是Other)jdbc-type-for-null: 'null'
/*** 选课信息* 后端接口* @author * @email * @date 2022-04-30 14:26:20*/
@RestController
@RequestMapping("/xuankexinxi")
public class XuankexinxiController {@Autowiredprivate XuankexinxiService xuankexinxiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,XuankexinxiEntity xuankexinxi,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("jiaoshi")) {xuankexinxi.setGonghao((String)request.getSession().getAttribute("username"));}if(tableName.equals("xuesheng")) {xuankexinxi.setXuehao((String)request.getSession().getAttribute("username"));}EntityWrapper<XuankexinxiEntity> ew = new EntityWrapper<XuankexinxiEntity>();PageUtils page = xuankexinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xuankexinxi), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,XuankexinxiEntity xuankexinxi, HttpServletRequest request){EntityWrapper<XuankexinxiEntity> ew = new EntityWrapper<XuankexinxiEntity>();PageUtils page = xuankexinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xuankexinxi), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( XuankexinxiEntity xuankexinxi){EntityWrapper<XuankexinxiEntity> ew = new EntityWrapper<XuankexinxiEntity>();ew.allEq(MPUtil.allEQMapPre( xuankexinxi, "xuankexinxi")); return R.ok().put("data", xuankexinxiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(XuankexinxiEntity xuankexinxi){EntityWrapper< XuankexinxiEntity> ew = new EntityWrapper< XuankexinxiEntity>();ew.allEq(MPUtil.allEQMapPre( xuankexinxi, "xuankexinxi")); XuankexinxiView xuankexinxiView =  xuankexinxiService.selectView(ew);return R.ok("查询选课信息成功").put("data", xuankexinxiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){XuankexinxiEntity xuankexinxi = xuankexinxiService.selectById(id);return R.ok().put("data", xuankexinxi);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){XuankexinxiEntity xuankexinxi = xuankexinxiService.selectById(id);return R.ok().put("data", xuankexinxi);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody XuankexinxiEntity xuankexinxi, HttpServletRequest request){xuankexinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(xuankexinxi);xuankexinxiService.insert(xuankexinxi);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody XuankexinxiEntity xuankexinxi, HttpServletRequest request){xuankexinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(xuankexinxi);xuankexinxiService.insert(xuankexinxi);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody XuankexinxiEntity xuankexinxi, HttpServletRequest request){//ValidatorUtils.validateEntity(xuankexinxi);xuankexinxiService.updateById(xuankexinxi);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){xuankexinxiService.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<XuankexinxiEntity> wrapper = new EntityWrapper<XuankexinxiEntity>();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("jiaoshi")) {wrapper.eq("gonghao", (String)request.getSession().getAttribute("username"));}if(tableName.equals("xuesheng")) {wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));}int count = xuankexinxiService.selectCount(wrapper);return R.ok().put("count", count);}}

SpringBoot+Vue项目学生选课系统相关推荐

  1. SpringBoot+Vue项目智能选课系统

    文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript.Vue .css3 开发工具:IDEA/MyEclipse/Eclipse.Visual Studi ...

  2. C小项目 —— 学生选课系统

    C小项目 -- 学生选课系统 #include<stdio.h> #include<windows.h> #include<stdlib.h> #include&l ...

  3. Web开发项目——学生选课系统

    Web开发项目--学生选课系统完整项目代码+数据库文件(采用springMVC三层架构+MySQL) 学生登录界面 欢迎界面,可进行功能选择个人信息查询 密码修改,修改后数据库数据也会变化 根据教授该 ...

  4. javaWeb项目学生选课系统完整源码附带数据库

    项目介绍 学生选课系统,也可以说教务管理系统,功能比较多,可做课程设计和毕业设计参考,角色分为学生,老师,管理员,分别对应不同的操作 学生:注册登录,修改信息,查看选课信息,查看成绩,查看公告,课程信 ...

  5. SpringBoot+Vue项目校园商铺系统

    文末获取源码 开发语言:Java 框架:springboot+vue Node:node.js JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Nav ...

  6. Springboot+vue项目医疗服务系统

    开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springboot+vue JDK版本:jdk1.8 医疗服务 ...

  7. SpringBoot+Vue项目电子招投标系统

    文末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7/8.0 应用服务:Tomcat7/Tomcat8 是否Maven项目:是 后端框架:SpringBoo ...

  8. SpringBoot+Vue项目医院挂号系统的设计与实现

    文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript.Vue .css3 开发工具:IDEA/MyEclipse/Eclipse.Visual Studi ...

  9. Java项目:学生选课系统(java+javaweb+jdbc)

    源码获取:博客首页 "资源" 里下载! 功能介绍: 用户菜单.学生管理.教师管理.课程管理.成绩排名查询 学生管理控制层: @Controller @RequestMapping( ...

最新文章

  1. C++string 类常用函数
  2. BI国产化替代进入实质阶段,新产品新方案提高加速度
  3. sql 之like 和通配符%,_(mysql)
  4. c/c++编码规范(2)--作用域
  5. 商务宽屏视频剪辑企业网站模板
  6. Java 8 并发: Threads 和 Executors
  7. Vue:vue过滤器的使用、借助第三方库moment.js实现时间过滤器
  8. Exchange 2016 体系结构
  9. Java多人抽奖案例
  10. VUE项目配置UEditor集成秀米编辑器
  11. 2007年个人回忆与总结
  12. [置顶] 而立之年——三线城市程序员的年终告白
  13. Windows命令行WINRAR压缩和解压缩
  14. 怎么判断MES系统好不好?MES又是如何帮企业省钱的?
  15. Mixly 二次开发 自定义库
  16. hx711c语言程序,51单片机HX711传感器电子秤设计(原理图、程序源码、BOM等)
  17. nginx sendfile什么作用
  18. 同步以太网-SyncE介绍
  19. 高质量c c++编程
  20. uniform crossover(均匀交叉),遗传算法(Genetic Algorithm,GA),python

热门文章

  1. caffe 创建网络模型
  2. Caffe2 - (十三) 基于 Python 创建 Operator
  3. HDU 1043 Eight(八数码第七境界|A*+哈希+曼哈顿距离)
  4. 【Django】Python+Django 图文教程
  5. liteos简介(一)
  6. 线性代数笔记3.3向量组的秩
  7. PAT (Basic Level) Practice (中文)题目集合
  8. 第二讲 单片机C语言之12864液晶显示
  9. 全球首款AI投屏智能硬件 爱奇艺电视果4K发布
  10. 学习Python的建议