目录
前言
此项目写了一个可以实现增删改查的电影管理系统。
一、代码实现
创建电影对象类
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Entity
@Table(name = "films")
public class Film {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "电影名")
private String name; //电影名
@Column(name = "作者")
private String author; //作者
@Column(name = "赞助")
private String sponsor; //赞助
@Column(name = "电影编号")
private String filmNumber; //电影编号
@Column(name = "电影类型")
private String filmType; //电影类型
@Column(name = "价格")
private float price; //价格
新增电影页创、将数据添加到数据库
@PostMapping("/addFilm")
public String addFilm(@ModelAttribute("film") Film film){
//将电影保存到数据库
filmServices.addFilm(film);
return "redirect:/";
}
更新电影信息页
@GetMapping("/updateFilm/{id}")
public String updateFilm(@PathVariable(value = "id") long id, Model model){
Film film = filmServices.getFilmById(id);
model.addAttribute("film", film);
return "update_film";
}
删除指定id的电影
@GetMapping("/deleteFilm/{id}")
public String deleteFilm(@PathVariable(value = "id") long id){
this.filmServices.deleteFilmById(id);
return "redirect:/";
}
获取分页数据
@GetMapping("/page/{pageNo}")
public String findPaginated(@PathVariable(value = "pageNo") int pageNo, //页数
@RequestParam("sortField") String sortField, //排序的字段
@RequestParam("sortDir") String sortDir, //排序的方式,升序或降序
Model model){
int pageSize = 7; //每页7条数据
Page<Film> page = filmServices.findPaginated(pageNo, pageSize, sortField, sortDir);
List<Film> listFilm = page.getContent();
model.addAttribute("currentPage", pageNo);
model.addAttribute("totalPages", page.getTotalPages());
model.addAttribute("totalItems", page.getTotalElements());
model.addAttribute("sortField", sortField);
model.addAttribute("sortDir", sortDir);
model.addAttribute("reverseSortDir", sortDir.equals("asc") ? "desc" : "asc");
model.addAttribute("listFilm", listFilm);
return "index";
}
获取所有电影
@GetMapping("/Films")
public String getFilms(Model model){
List<Film> films = filmSavingsBank.findAll();
model.addAttribute("films",films);
return "search";
}
查询指定作者
@PostMapping("/films/search")
public String searchFilm(@RequestParam("author") String author, Model model) {
List<Film> films = filmSavingsBank.findByAuthor(author);
model.addAttribute("films",films);
return "search";
}
二、代码成果图
三、学习心得
老师带领我们学习java高级程序设计,在这一学期里学到了很多的,当然学习语言技术容易枯燥无味,所以必须坚持自己的内心努力学习,语言技术学起来很难,且容易枯燥,但学习如逆水行舟不进则退,所以要更加努力紧跟老师的步伐,学无止境,下个学期会更加努力。
四、Gitee仓库
Gitee: git@gitee.com:whj2813939873/ZJ.git