基于javaweb+mysql的springboot学生信息管理系统(java+springboot+mybaits+html+easyui+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot学生信息管理系统(java+springboot+mybaits+html+easyui+mysql)
项目介绍
Springboot学生信息管理系统主要分为管理员、教师、学生三种角色。 管理员角色主要功能如下: 学生信息管理:学生查询、新增、编辑、删除等; 班级信息管理:班级查询、新增、编辑、删除等; 教师信息管理:教师查询、新增、编辑、删除等; 课程信息管理:课程查询、新增、编辑、删除等; 选课信息管理:选课查询、新增、编辑、删除等; 考勤信息管理:考勤查询、新增、编辑、删除等; 请假信息管理:请假查询、新增、编辑、删除等; 成绩信息管理:成绩查询、新增、编辑、删除等; 成绩统计:区间统计图、平均统计图; 系统管理:修改密码;
教师主要功能如下: 学生信息管理:学生查询、新增、编辑、删除等; 班级信息管理:班级查询、新增、编辑、删除等; 教师信息管理:教师查询、新增、编辑、删除等; 课程信息管理:课程查询、新增、编辑、删除等; 选课信息管理:选课查询、新增、编辑、删除等; 考勤信息管理:考勤查询、新增、编辑、删除等; 请假信息管理:请假查询、新增、编辑、删除等; 成绩信息管理:成绩查询、新增、编辑、删除等; 教师用户仅可查看自己权限下的信息。
学生主要功能如下: 学生信息管理:学生查询、新增、编辑、删除等; 选课信息管理:选课查询、新增、编辑、删除等; 考勤信息管理:考勤查询、新增、编辑、删除等; 请假信息管理:请假查询、新增、编辑、删除等; 成绩信息管理:成绩查询、新增、编辑、删除等; 学生用户仅可查看自己的信息。
环境需要
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
前端:Html+css+easyui+h-ui
使用说明
项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入地址:http://localhost:8080/ 管理员账号、密码:admin/123456 教师账号、密码:张三/111 学生账号、密码:张三纷/123456
return StrUtil.RESULT_FALSE;
@RequestMapping(value="/out")
public ModelAndView loginOut(HttpSession session) {
session.invalidate();//销毁sessions
//请求重定向到主页(login页)
return new ModelAndView("redirect:/");
@RequestMapping(value="/getVerifyCode")
public void getVerifyCode(HttpServletResponse response, HttpSession session) {
ByteArrayOutputStream output = new ByteArrayOutputStream();
session.setAttribute("verifyCode", drawCodeImg(output));
try {
ServletOutputStream out = response.getOutputStream();
if (id != null) {
int res = scoreService.deleteScore(s);
if (res > 0) return StrUtil.RESULT_TRUE;
else return StrUtil.RESULT_FALSE;
return "参数错误!";
/**
* 评分
* @param score
* @return
*/
@ResponseBody
@RequestMapping(value="/update")
public String updateScore(Score score) {
if (studentService.deleteStudent(list) > 0) {
return StrUtil.RESULT_TRUE;
} catch (Exception e) {
e.printStackTrace();
return "删除失败!参数出错!";//
return "删除失败!";
@ResponseBody
@RequestMapping("/import")
public String impotr(HttpServletRequest request, MultipartFile file) {
//获取上传的文件
if (user != null) {
//List<Auth> menuList = authService.getMenuList(user.getUserType());
List<Auth> urlList = authService.getUrlList(user.getUserType());
user.setUrlList(urlList);
//user.setMenuList(menuList);
session.setAttribute(StrUtil.USER, user);
return JSON.toJSONString(user);
return StrUtil.RESULT_FALSE;
@RequestMapping(value="/out")
public ModelAndView loginOut(HttpSession session) {
选课管理控制层:
@Controller
@RequestMapping(value="/score")
public class ScoreController {
@Autowired
private ScoreService scoreService;
@ResponseBody
@RequestMapping(value="/list")
public String getScoreList(Integer curr, Integer nums, ScoreVo scoreVo) {
System.out.println(scoreVo);
Pagination<ScoreVo> page = new Pagination<ScoreVo>();
return "添加失败!学号重复!";
if (res > 0)
return StrUtil.RESULT_TRUE;
return "添加失败";
} else if (opType == 1) {
stu.setPassword(null);
res = studentService.updateStudent(stu);
if (res > 0) return StrUtil.RESULT_TRUE;
return "修改失败!";
return "error";
/**
* 重置密码
* @param stu
*/
@ResponseBody
@RequestMapping(value="/resetPswd")
public String resetPasswrd(String id) {
Teacher teacher = new Teacher();
teacher.setId(id);
teacher.setPassword(MD5Util.MD5("123456"));
if (teacherService.updateTeacher(teacher) > 0) return StrUtil.RESULT_TRUE;
return "修改失败!";
@ResponseBody
@ResponseBody
@RequestMapping(value="/add")
public String addTeacher(@RequestParam(defaultValue="2") int opType, Teacher teacher) {
int res = 0;
if (opType == 0) {
try {
teacher.setPassword(teacher.getPassword().toUpperCase());
res = teacherService.addTeacher(teacher);
} catch (Exception e) {
System.out.println("添加失败!学号重复!");
return "添加失败!工号重复!";
@RequestMapping(value="/loginPage")
public ModelAndView toLoginPage() {
return new ModelAndView("login");
@ResponseBody
@RequestMapping(value="/doLogin")
public String doLogin(@RequestParam(defaultValue="") String username,
@RequestParam(defaultValue="") String password,
@RequestParam(defaultValue="0") int userType,
@RequestParam(defaultValue="") String verifyCode, HttpSession session) {
//比较验证码
stu.setPassword(null);
res = studentService.updateStudent(stu);
if (res > 0) return StrUtil.RESULT_TRUE;
return "修改失败!";
return "error";
/**
* 重置密码
* @param stu
* @return
*/
@ResponseBody
@RequestMapping(value="/resetPswd")
public String resetPasswrd(String id) {
@RequestMapping(value="/auth")
public class AuthController {
@Autowired
AuthService authService;
@ResponseBody
@RequestMapping(value="/list")
public String getAuthList(@RequestParam(defaultValue="0")int curr,@RequestParam(defaultValue="10")int nums,
@RequestParam(defaultValue="")String searchKey) {
Pagination<Auth> page = new Pagination<Auth>();
page.setTotalItemsCount(authService.getTotalItemsCount(searchKey));
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"true"
+StrUtil.RETURN_JONS_END_STR;
} else {
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"false"
+StrUtil.RETURN_JONS_END_STR;
} catch (Exception e) {
e.printStackTrace();
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"error"
+StrUtil.RETURN_JONS_END_STR;
} finally {
StudentService studentServiceImpl;
@RequestMapping(value="/loginPage")
public ModelAndView toLoginPage() {
return new ModelAndView("login");
@ResponseBody
@RequestMapping(value="/doLogin")
public String doLogin(@RequestParam(defaultValue="") String username,
@RequestParam(defaultValue="") String password,
@RequestParam(defaultValue="0") int userType,
@RequestParam(defaultValue="") String verifyCode, HttpSession session) {
//比较验证码
@ResponseBody
@RequestMapping(value="/delete")
public String deleteStudnet(Teacher t) {
if (teacherService.deleteTeacher(t) > 0) return StrUtil.RESULT_TRUE;
return "删除失败!";
/**
* 批量删除
* @param tIds
* @return
*/
@ResponseBody
@RequestMapping(value="/deleteList")
public String deleteStudnetList(String tIds) {
return "修改失败!";
@ResponseBody
@RequestMapping(value="/delete")
public String deleteStudnet(Teacher t) {
if (teacherService.deleteTeacher(t) > 0) return StrUtil.RESULT_TRUE;
return "删除失败!";
/**
* 批量删除
* @param tIds
* @return
*/
@ResponseBody
@RequestMapping(value="/deleteList")
graphics.dispose();
try {
ImageIO.write(bImage, "jpg", output);
} catch (IOException e) {
e.printStackTrace();
return code;
/**
* 返回一个随机字符
* @return
*/
list.add(id);
if (teacherService.deleteTeacher(list) > 0) {
return StrUtil.RESULT_TRUE;
} catch (Exception e) {
e.printStackTrace();
return "删除失败!参数出错!";//
return "删除失败!";
@ResponseBody
@RequestMapping("/import")
public String impotr(HttpServletRequest request, MultipartFile file) {
//获取上传的文件
InputStream in = null;
try {
return StrUtil.RESULT_TRUE;
} catch (Exception e) {
e.printStackTrace();
return "删除失败!参数出错!";//
return "删除失败!";
@ResponseBody
@RequestMapping("/import")
public String impotr(HttpServletRequest request, MultipartFile file) {
//获取上传的文件
InputStream in = null;
try {