OK,这一节讲解后台管理的最后一个功能:电影信息管理。主要对“添加电影信息”的列表管理。
我们先在 html 目录下,创建一个 movieManage.html 文件
电影管理页面
编号
电影主图
电影名称
电影标题
是否热门
发布日期
接下来,我们开发 API 接口,用来查询电影信息的列表。
跟上一篇博客讲解的差不多,直接上代码,这部分功能写在 MovieInfoController 即可:
//分页查询电影信息
@ResponseBody
@RequestMapping("/list")
public Map list(SearchInfo info, @RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "rows", required = false) Integer rows) {
Map map = movieInfoManage.getMovieList(info, page, rows);
return map;
}
MovieInfoManage 接口增加代码:
//分页查询电影信息
Map getMovieList(SearchInfo info, int page, int rows);
MovieInfoManageImpl 实现类增加代码:
//分页查询电影信息
@Override
public Map getMovieList(SearchInfo info, int page, int rows){
Map map = new HashMap<>();
try{
PageQuery pageQuery = SearchInfoUtil.getPageQuery(info,page,rows);
List list = movieInfoService.findBy(pageQuery);
map = SearchInfoUtil.getResult(pageQuery,list);//封装结果
}catch (Exception e){
e.printStackTrace();
}
return map;
}
MovieInfoService 类增加代码:
//分页查询
@Transactional(readOnly = true)
public List findBy(PageQuery pageQuery){
return movieInfoDao.findBy(pageQuery);
}
MovieInfoDao 接口增加代码:
//分页查询
List findBy(PageQuery pageQuery);
MovieInfoEntityMapper.xml 文件增加代码(根据主键 id 倒序):
OK,重启服务,看下效果:
老铁们,没毛病!
接下来,测试查询功能,搜索框输入电影名称,支持模糊查询:
OK,搞定。
接下来,我们开发删除电影信息的 API 接口。在删除信息前,我们先弄一些测试数据,这里教一个方法:
insert into movie_info
(select null,movie_name,movie_title,hot,image_name,movie_content,create_time
from movie_info where id = 1);
多执行几次,就可以把电影信息表的 id=1 的信息新增到电影表中,做一些测试。
OK,开发删除接口,需要注意请求的 URL 路径,以及返回的 key。
MovieInfoController 类增加代码:
//删除电影信息
@ResponseBody
@RequestMapping("/delete")
public Map delete(@RequestParam(value="ids")String ids){
Map map = new HashMap<>();
boolean flag = movieInfoManage.delete(ids);
map.put("flag", flag);
return map;
}
MovieInfoManage 接口增加函数:
//删除电影信息
boolean delete(String ids);
MovieInfoManageImpl 实现类增加代码:
//删除电影信息
@Override
public boolean delete(String ids) {
boolean flag = false;
try {
//用逗号分隔前端传递的 id 集合
String[] idsArr = ids.split(",");
for(String id : idsArr){
movieInfoService.delete(Integer.parseInt(id));
}
flag = true;
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
MovieInfoService 增加代码:
//删除电影信息
@Transactional(readOnly = false)
public int delete(Integer id){
return movieInfoDao.delete(id);
}
MovieInfoDao 增加代码:
//删除电影信息
int delete(Integer id);
MovieInfoEntityMapper.xml 增加代码(之前已经有了无需增加):
delete from movie_info
where id = #{id,jdbcType=INTEGER}
OK,重启服务,测试:
OK,搞定!
还有一个功能,就是“修改”电影信息。
我们以一个新的 tab 页打开,把电影的主键 id 带过去。
OK,我们新建 modifyMovie.html 文件:
修改电影信息页面