基于javaweb+mysql的ssm+maven机房管理系统(java+ssm+vue+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8、Node.js≥10
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM+Maven机房管理系统(java+ssm+vue+mysql)
/myproject
前端启动命令:npm run serve
访问地址:http://localhost:8080/myproject/index.jsp
管理员
admin 123456
学生
1001 123456
1002 123456
教师
001 123456
002 123456
一、项目简介
本项目是一套基于SSM的机房管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。
包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。
项目都经过严格调试,确保可以运行!
二、技术实现
后台框架:Spring、SpringMVC、MyBatis
数据库:MySQL
开发环境:JDK、Eclipse、Tomcat
三、系统功能
该机房管理系统共包含三种角色:管理员、学生、教师。
每个角色的功能如下:
1.管理员
首页、个人中心、学生管理、教师管理、班级信息管理、课程信息管理、机房信息管理、计算机管理、签到上机管理、管理员管理等功能;
2.教师
首页、个人中心、课程信息管理、学生管理、班级信息管理、机房信息管理、计算机管理、签到上机管理等功能;
3.学生
首页、个人中心、课程信息管理、计算机管理、签到上机管理等功能。
本机房管理系统采用B/S架构,使用java技术在动态页面上进行了设计,后台采用MySQL数据库进行数据的存储,是一个非常优秀的机房管理系统。
该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。
}
/**
* 获取table表中的column列表(联动接口)
* @param table
* @param column
* @return
*/
@IgnoreAuth
@RequestMapping("/option/{tableName}/{columnName}")
public R getOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,String level,String parent) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("table", tableName);
params.put("column", columnName);
if(StringUtils.isNotBlank(level)) {
params.put("level", level);
}
if(StringUtils.isNotBlank(parent)) {
params.put("parent", parent);
}
List<String> data = commonService.getOption(params);
return R.ok().put("data", data);
}
/**
* 根据table中的column获取单条记录
* @param table
* @param column
* @return
*/
@IgnoreAuth
@RequestMapping("/follow/{tableName}/{columnName}")
public R getFollowByOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @RequestParam String columnValue) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("table", tableName);
params.put("column", columnName);
params.put("columnValue", columnValue);
Map<String, Object> result = commonService.getFollowByOption(params);
return R.ok().put("data", result);
}
/**
* 登录相关
*/
@RequestMapping("config")
@RestController
public class ConfigController{
@Autowired
private ConfigService configService;
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,ConfigEntity config){
EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();
PageUtils page = configService.queryPage(params);
return R.ok().put("data", page);
}
/**
* 列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,ConfigEntity config){
EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();
PageUtils page = configService.queryPage(params);
return R.ok().put("data", page);
}
/**
}
jiaoshi.setId(new Date().getTime());
jiaoshiService.insert(jiaoshi);
return R.ok();
}
/**
* 退出
*/
@RequestMapping("/logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
JiaoshiEntity user = jiaoshiService.selectById(id);
return R.ok().put("data", user);
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
JiaoshiEntity user = jiaoshiService.selectOne(new EntityWrapper<JiaoshiEntity>().eq("jiaoshigonghao", username));
if(user==null) {
return R.error("账号不存在");
}
user.setMima("123456");
jiaoshiService.updateById(user);
return R.ok("密码已重置为:123456");
}
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,JiaoshiEntity jiaoshi, HttpServletRequest request){
EntityWrapper<JiaoshiEntity> ew = new EntityWrapper<JiaoshiEntity>();
PageUtils page = jiaoshiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiaoshi), params), params));
*/
@RequestMapping("/query")
public R query(JisuanjiEntity jisuanji){
EntityWrapper< JisuanjiEntity> ew = new EntityWrapper< JisuanjiEntity>();
ew.allEq(MPUtil.allEQMapPre( jisuanji, "jisuanji"));
JisuanjiView jisuanjiView = jisuanjiService.selectView(ew);
return R.ok("查询计算机成功").put("data", jisuanjiView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
JisuanjiEntity jisuanji = jisuanjiService.selectById(id);
return R.ok().put("data", jisuanji);
}
/**
* 前端详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") String id){
JisuanjiEntity jisuanji = jisuanjiService.selectById(id);
return R.ok().put("data", jisuanji);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody JisuanjiEntity jisuanji, HttpServletRequest request){
jisuanji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEnt