发表于: 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查得老师名字和头像 挨个查找

明天的计划:讲小课堂

遇到的问题:暂无

收获:以上


返回列表 返回列表
评论

    分享到