发表于: 2018-01-10 23:23:42
1 535
今天完成的内容:
(1)视频列表分页。
先明确几个参数
totalRecord:数据库中总的记录数
totalPage:总页数
pageSize:每页显示的记录数
pageNum:当前页为第几页
Mysql中的分页语句:
使用参数limit,如:
从学生表(t_student)中查询出前十条数据
select * from t_student limit 0, 10
表示的是从第0条开始取,取10条记录。
因此视频列表起始页是1,每页十个数据,即给前端一组最多十个符合条件的视频
点击下一页时,页数加一,再给十个符合条件的视频
(2)视频列表代码
根据筛选条件获取视频id的工具类,拼接动态sql
public static Map<String, Object> getVideoIds(String grade,Integer subject,Integer videoType) {
Map<String, Object> params = new HashMap<String, Object>();
log.info("从video表中动态查询");
params.put("video_status", 1);
if (!grade.equals("0")) {
params.put("grade & Like", " '%" + grade + "%'");
}
if (!subject.equals(0)) {
params.put("subject", subject);
}
if (!videoType.equals(0)) {
params.put("video_type",videoType);
}
params.put("@query", " id ");
params.put("@table", "video");
params.put("@order", " update_at desc ");
log.info("getProfessionTagsList sql is " + SQLUtil.convert2Sql(params, 0, 0));
return params;
}
Controller中根据sql查符合条件的视频id和
List<Long> ids = videoService.getIdsByDynamicCondition(Video.class,param,start,size);
List<Long> total = videoService.getIdsByDynamicCondition(Video.class,param,0,99999);
如第一页
ids 为0-10符合条件的id
total为数据库中所有符合条件的id
while (b > 0){
Video video=videosList.get(ids.size()-b);
Teacher teacher =teacherService.getObjectById(video.getTeacherId());
log.info(teacher.getTeacherName());
Long videosId =ids.get(ids.size()-b);
videosList.get(ids.size()-b).setTeacherName(teacher.getTeacherName());
videosList.get(ids.size()-b).setTeacherImg(teacher.getTeacherImg());
b--;
}
while循环根据视频id查得老师id 再根据id查得老师名字和头像 挨个查找
明天的计划:讲小课堂
遇到的问题:暂无
收获:以上
评论