- 创建一个学生类,至少6个属性
- 使用静态的HashMap来存储学生信息
- key:学号
- 值:学生对象
- 在Controller定义静态代码块 完成学生列表信息的初始化【10个学生】
- 在Controller定义5个方法【Handler】
- 查询所有学生【无参数】
- 根据学号查询学生【整形参数,使用路径传参】
- 更新学生【需要先回显原先的数据】【参数为json,需要带学号】
- 增加学生【参数为json,不需要带学号(使用自增)】
- 根据学号删除学生【整形参数,使用路径传参】
- Controller
- Handler返回值为统一Result
- 请求参数一律使用json
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
模拟完成单表数据库的CRUD
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 李高飞 2023-04-01 20:27关注
以下是一个简单的Java实现,完成单表数据库的CRUD操作,使用静态的HashMap来存储学生信息。假设学生类中有六个属性:学号、姓名、性别、年龄、专业、成绩。
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class StudentController { private static Map<Integer, Student> studentMap = new HashMap<>(); // 初始化学生列表信息 static { for (int i = 1; i <= 10; i++) { Student student = new Student(i, "学生" + i, i % 2 == 0 ? "男" : "女", 18 + i, "专业" + i, i * 10); studentMap.put(i, student); } } // 查询所有学生 public static Result findAllStudents() { List<Student> students = new ArrayList<>(studentMap.values()); return new Result(true, "查询成功", students); } // 根据学号查询学生 public static Result findStudentById(int id) { if (studentMap.containsKey(id)) { Student student = studentMap.get(id); return new Result(true, "查询成功", student); } else { return new Result(false, "查询失败,学生不存在", null); } } // 更新学生 public static Result updateStudent(Student student) { if (studentMap.containsKey(student.getId())) { studentMap.put(student.getId(), student); return new Result(true, "更新成功", student); } else { return new Result(false, "更新失败,学生不存在", null); } } // 增加学生 public static Result addStudent(Student student) { int id = studentMap.size() + 1; student.setId(id); studentMap.put(id, student); return new Result(true, "增加成功", student); } // 根据学号删除学生 public static Result deleteStudentById(int id) { if (studentMap.containsKey(id)) { Student student = studentMap.remove(id); return new Result(true, "删除成功", student); } else { return new Result(false, "删除失败,学生不存在", null); } } }
其中,Student类的代码如下:
public class Student { private int id; private String name; private String gender; private int age; private String major; private int score; public Student(int id, String name, String gender, int age, String major, int score) { this.id = id; this.name = name; this.gender = gender; this.age = age; this.major = major; this.score = score; } // 省略getter和setter方法 }
使用Ajax请求来调用上述Controller的方法。假设项目使用Spring框架,可使用如下的RequestMapping注解来定义Ajax请求的方法:
import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/student") public class StudentController { // 查询所有学生 @GetMapping("/findAll") public Result findAllStudents() { return StudentController.findAllStudents(); } // 根据学号查询学生 @GetMapping("/{id}") public Result findStudentById(@PathVariable int id) {
解决 无用评论 打赏 举报
悬赏问题
- ¥15 HTML5的section文字占地问题
- ¥15 这个结构体为什么会出错呢?
- ¥15 ROH绘图及近交系数的计算
- ¥15 手动下载基因拼接数据库的渠道
- ¥30 微机原理相关问题,求解
- ¥15 多种类数据输入的语义分割模型方法有吗
- ¥15 cesium二维地图绘制实体rectangle颜色问题
- ¥15 网络分析仪面板参数解释
- ¥15 车载image sensor的 datasheet
- ¥15 kotlin multiplaform 的共享模块支持蓝牙吗还是说安卓和ios的蓝牙都要自己配