环境准备
JDK1.8
Mysql 5.7+
navicat
Idea (Ultimate Edition)
1、项目准备(本小题15分,使用其它开发工具也可得分)
(1)下载并解压ks01项目,将项目重命名为ks01_你的学号,并将应用程序的名称改为ks01_你的学号。(5分,提交重命名后的截图)
(2)创建MySQL数据库,数据库名:ks01_你的学号;字符集:utf8mb4;排序规则:utf8mb4_general_ci。(5分,提交数据库截图)
(3)在ks01_你的学号数据库中创建学生表(student_你的学号),表结构如下表所示。(5分,提交表结构截图)
修改数据库配置
上传文件目录配置
2、编写实体类Student类,并提交Student类的代码截图(本小题10分)
@Data
@TableName("student_xxxxx")
public class Student {
@TableId
private Long stuNo;
private String stuName;
private String stuCls;
private Integer stuSex;
private String phoneNo;
private String dormitoryNo;
private String profilePhoto;
}
3、完成添加学生信息的功能,用户访问stuAdd.html,输入学生信息并提交后,将学生信息保存到数据库中的 student_你的学号表,提交成功后会显示添加成功提示。(本小题40分)
(1)请完成cn.edu.qvtu.ks01.r04.UpLoadControlller.upload()方法中的补充代码01,用于接收前端上传的文件。并提交upload()方法的代码截图。(10分)
@RestController
public class UpLoadControlller {
@Value("${file.uploadDIR}")
private String uploadDIR;
@PostMapping("file.do")
public Callback upload(@RequestParam("file1")MultipartFile file) throws IOException {
//补充代码01
String originalFilename = file.getOriginalFilename();
originalFilename= UUID.randomUUID()+originalFilename;
File dir = new File(uploadDIR);
if(!dir.exists()){
dir.mkdirs();
}
file.transferTo(new File(uploadDIR+"/"+originalFilename));
return new Callback(true,originalFilename);
}
}
(2)完成cn.edu.qvtu.ks01.r02.StudentDAO类中补充代码02,实现插入数据的数据库语句,并提交补充代码02的截图。(5分)
@Mapper
public interface StudentDAO
extends BaseMapper<Student> {
//补充代码02
//补充代码05
}
(3)完成cn.edu.qvtu.ks01.r03.StudentService类中的补充代码03,实现插入数据的业务处理,并提交补充代码03的截图。(5分)
public Callback add(Student stu){
//补充代码03
int count = dao.insert(stu);
if(count>0){
return new Callback(true,"添加成功");
}
return new Callback(false,"添加失败");
}
(4)完成cn.edu.qvtu.ks01.r04.StudentController类中的补充代码04,实现数据的接收与响应,并提交补充代码04的截图。(10分)
//补充代码04
@PostMapping("/add.do")
public Callback add(Student student){
service.add(student);
return new Callback(true,"添加成功");
}
(5)测试添加学生信息功能,提交成功的参考页面如下。注意:学号、姓名、班级必须为考生本人的信息,添加成功的参考截图如下(10分)。
4、完成查询学生信息的功能,用户访问stu.html,输入学生学号并提交后,将从数据库中的 student_你的学号 表查询数据,并显示在stu.html页面上。(本小题30分)
(1)完成cn.edu.qvtu.ks01.r02.StudentDAO类中补充代码05,实现根据学号查询数据的语句,并提交补充代码05的截图。(5分)
@Mapper
public interface StudentDAO extends BaseMapper<Student> {
//补充代码02
//补充代码05
}
(2)完成cn.edu.qvtu.ks01.r03.StudentService类中的补充代码06,实现根据学号查询数据的业务处理,并提交补充代码06的截图。(5分)
public Callback findByStuNo(int stuNo){
//补充代码06
//提示:将Callback类中的msg属性设置为MvcConfig.getHandler(),用于映射虚拟路径
Student student = dao.selectById(stuNo);
if(student!=null){
return new Callback(true,MvcConfig.getHandler(),student);
}
return new Callback(false,"未查询到学生信息");
}
(3)完成cn.edu.qvtu.ks01.r04.StudentController类中的补充代码07,实现数据的接收与响应,并提交补充代码07的截图。(10分)
@PostMapping("/findByStuNo.do")
public Callback findByStuNo(Integer stuNo){
return service.findByStuNo(stuNo);
}