作者主页:Java毕设网
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
一、项目介绍
该项目是一个前后端分离,后端使用 SpringBoot,前端使用 VUE 和 Element-UI 组件库配合完成开发。共有三种角色:管理员、教师、学生。
二、环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7/8.0等版本均可;
三、技术栈
1. 后端:SpringBoot+mybatisplus
2. 前端:VUE 和 Element-UI
四、使用说明
后端运行教程:
1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 将项目中application.properties配置文件中的数据库配置改为自己的配置
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
4. 运行项目,localhost:8080 为后端路径;
前端运行教程:
1.首先安装好node及cnpm, node版本要求为v12.11.1 cnpm版本要求为:6.1.1
2.在cmd命令行中,cd到前端源码exam所在目录,执行 cnpm install命令,安装node_modules依赖
3.node_modules安装成功后,然后执行 cnpm run dev命令
4.执行成功后,在浏览器中输入http://localhost:8088 即可登录
五、运行截图
六、相关代码
管理控制器
@RestController
public class AdminController {
private AdminServiceImpl adminService;
@Autowired
public AdminController(AdminServiceImpl adminService){
this.adminService = adminService;
}
@GetMapping("/admins")
public ApiResult findAll(){
System.out.println("查询全部");
return ApiResultHandler.success(adminService.findAll());
}
@GetMapping("/admin/{adminId}")
public ApiResult findById(@PathVariable("adminId") Integer adminId){
System.out.println("根据ID查找");
return ApiResultHandler.success(adminService.findById(adminId));
}
@DeleteMapping("/admin/{adminId}")
public ApiResult deleteById(@PathVariable("adminId") Integer adminId){
adminService.deleteById(adminId);
return ApiResultHandler.success();
}
@PutMapping("/admin/{adminId}")
public ApiResult update(@PathVariable("adminId") Integer adminId, Admin admin){
return ApiResultHandler.success(adminService.update(admin));
}
@PostMapping("/admin")
public ApiResult add(Admin admin){
return ApiResultHandler.success(adminService.add(admin));
}
}
试卷管理控制器
@RestController
public class ExamManageController {
@Autowired
private ExamManageServiceImpl examManageService;
@GetMapping("/exams")
public ApiResult findAll(){
System.out.println("不分页查询所有试卷");
ApiResult apiResult;
apiResult = ApiResultHandler.buildApiResult(200, "请求成功!", examManageService.findAll());
return apiResult;
}
@GetMapping("/exams/{page}/{size}")
public ApiResult findAll(@PathVariable("page") Integer page, @PathVariable("size") Integer size){
System.out.println("分页查询所有试卷");
ApiResult apiResult;
Page<ExamManage> examManage = new Page<>(page,size);
IPage<ExamManage> all = examManageService.findAll(examManage);
apiResult = ApiResultHandler.buildApiResult(200, "请求成功!", all);
return apiResult;
}
@GetMapping("/exam/{examCode}")
public ApiResult findById(@PathVariable("examCode") Integer examCode){
System.out.println("根据ID查找");
ExamManage res = examManageService.findById(examCode);
if(res == null) {
return ApiResultHandler.buildApiResult(10000,"考试编号不存在",null);
}
return ApiResultHandler.buildApiResult(200,"请求成功!",res);
}
@DeleteMapping("/exam/{examCode}")
public ApiResult deleteById(@PathVariable("examCode") Integer examCode){
int res = examManageService.delete(examCode);
return ApiResultHandler.buildApiResult(200,"删除成功",res);
}
@PutMapping("/exam")
public ApiResult update(@RequestBody ExamManage exammanage){
int res = examManageService.update(exammanage);
// if (res == 0) {
// return ApiResultHandler.buildApiResult(20000,"请求参数错误");
// }
System.out.print("更新操作执行---");
return ApiResultHandler.buildApiResult(200,"更新成功",res);
}
@PostMapping("/exam")
public ApiResult add(@RequestBody ExamManage exammanage){
int res = examManageService.add(exammanage);
if (res ==1) {
return ApiResultHandler.buildApiResult(200, "添加成功", res);
} else {
return ApiResultHandler.buildApiResult(400,"添加失败",res);
}
}
@GetMapping("/examManagePaperId")
public ApiResult findOnlyPaperId() {
ExamManage res = examManageService.findOnlyPaperId();
if (res != null) {
return ApiResultHandler.buildApiResult(200,"请求成功",res);
}
return ApiResultHandler.buildApiResult(400,"请求失败",res);
}
}