——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb的SpringBoot学生考勤管理系统(java+springboot+maven+mybaits+elementui+vue+mysql)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 管理员 admin 123456
教师 教师工号1 123456 教师工号2 123456 教师工号3 123456 教师工号4 123456 教师工号5 123456 教师工号6 123456
学生 学号1 123456 学号2 123456 学号3 123456 学号4 123456 学号5 123456 学号6 123456
|
项目介绍
基于SpringBoot Vue的学生考勤管理系统
角色:管理员、教师、学生
管理员:管理员登录进入系统可以查看首页,个人中心,学生管理,教师管理,班级信息管理,课程信息管理,签到信息管理,考勤信息管理,请假信息管理,考勤统计管理等功能
教师:教师登录进入系统可以查看首页,个人中心,学生管理,班级信息管理,课程信息管理,签到信息管理,考勤信息管理,请假信息管理,考勤统计管理等功能
学生: 学生登录进入系统可以查看首页,个人中心,班级信息管理,课程信息管理,签到信息管理,考勤信息管理,请假信息管理,考勤统计管理等功能
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;
技术栈
后端: SpringBoot+Mybaits
前端:Vue +ElementUI
使用说明
项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,控制台提示运行成功后再去运行前端项目; 5. 管理员用户名密码:admin/admin 普通用户名密码:user/123456
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| return R.ok().put("data", page); }
@RequestMapping("/lists") public R list( KechengxinxiEntity kechengxinxi){ EntityWrapper<KechengxinxiEntity> ew = new EntityWrapper<KechengxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre( kechengxinxi, "kechengxinxi")); return R.ok().put("data", kechengxinxiService.selectListView(ew)); }
@RequestMapping("/query") public R query(KechengxinxiEntity kechengxinxi){ EntityWrapper< KechengxinxiEntity> ew = new EntityWrapper< KechengxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre( kechengxinxi, "kechengxinxi")); KechengxinxiView kechengxinxiView = kechengxinxiService.selectView(ew); return R.ok("查询课程信息成功").put("data", kechengxinxiView); }
@RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ KechengxinxiEntity kechengxinxi = kechengxinxiService.selectById(id); return R.ok().put("data", kechengxinxi); }
@IgnoreAuth @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ KechengxinxiEntity kechengxinxi = kechengxinxiService.selectById(id); return R.ok().put("data", kechengxinxi); }
@RequestMapping("/save") public R save(@RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request){ kechengxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
|
1 2 3 4 5 6 7 8 9 10 11 12
|
@RestController @RequestMapping("/banjixinxi") public class BanjixinxiController {
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| public R page(@RequestParam Map<String, Object> params,QiandaoxinxiEntity qiandaoxinxi, HttpServletRequest request){ EntityWrapper<QiandaoxinxiEntity> ew = new EntityWrapper<QiandaoxinxiEntity>(); PageUtils page = qiandaoxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qiandaoxinxi), params), params));
return R.ok().put("data", page); }
@IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,QiandaoxinxiEntity qiandaoxinxi, HttpServletRequest request){ EntityWrapper<QiandaoxinxiEntity> ew = new EntityWrapper<QiandaoxinxiEntity>(); PageUtils page = qiandaoxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qiandaoxinxi), params), params)); return R.ok().put("data", page); }
@RequestMapping("/lists") public R list( QiandaoxinxiEntity qiandaoxinxi){ EntityWrapper<QiandaoxinxiEntity> ew = new EntityWrapper<QiandaoxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre( qiandaoxinxi, "qiandaoxinxi")); return R.ok().put("data", qiandaoxinxiService.selectListView(ew)); }
@RequestMapping("/query") public R query(QiandaoxinxiEntity qiandaoxinxi){ EntityWrapper< QiandaoxinxiEntity> ew = new EntityWrapper< QiandaoxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre( qiandaoxinxi, "qiandaoxinxi")); QiandaoxinxiView qiandaoxinxiView = qiandaoxinxiService.selectView(ew); return R.ok("查询签到信息成功").put("data", qiandaoxinxiView); }
@RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ QiandaoxinxiEntity qiandaoxinxi = qiandaoxinxiService.selectById(id); return R.ok().put("data", qiandaoxinxi); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
@RestController @RequestMapping("/jiaoshi") public class JiaoshiController { @Autowired private JiaoshiService jiaoshiService;
@Autowired private TokenService tokenService;
@IgnoreAuth @RequestMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { JiaoshiEntity user = jiaoshiService.selectOne(new EntityWrapper<JiaoshiEntity>().eq("jiaoshigonghao", username)); if(user==null || !user.getMima().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(), username,"jiaoshi", "教师" ); return R.ok().put("token", token); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
@RestController @RequestMapping("/kaoqintongji") public class KaoqintongjiController { @Autowired private KaoqintongjiService kaoqintongjiService;
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=081524180701201hr
https://javayms.pages.dev?id=081524180701201hr