项目持续更新中:

仿抖音短视频APP

目录

实现数据层mybatis自定义mapper与sql

查询短视频列表api

实现下拉刷新和分页功能


实现数据层mybatis自定义mapper与sql

在数据库中查询:

 SELECTv.id as vlogId,v.vloger_id as vlogerId,u.face as vlogerFace,u.nickname as vlogerName,v.title as content,v.url as url,v.cover as cover,v.width as width,v.height as height,v.like_counts as likeCounts,v.comments_counts as commentsCounts,v.is_private as isPrivateFROMvlog vLEFT JOINusers uONv.vloger_id = u.idWHEREv.is_private = 0ORDER BYV.created_timeDESC

我们不仅在首页有查询,在搜索栏中也使用到了

回到我们的项目中:

我们定义一个VlogMapperCustom.xml,自定义Mapper

定义一个接口,与它进行映射

随后写我们的sql语句:

这里的id对应方法,

这里加入的参数,对应我们外部传入的map

在sql中加入我们的参数类型:

还有的一个返回的类型,对应的是我们这里定义的一个类:

这里包含的信息与我们的数据库字段一一对应,并且添加了三个属性,所有视频默认不播放,是否喜欢点赞过这个视频..

在xml文件中:

类型映射到我们的接口:

补充完整我们的sql语句:

这里的格式,我们并没有遵循mybatis的规范,因为有利于dba调优和维护。

查询短视频列表api

现在service层接口:

实现:

先打开前端:

在controller层:

重启类,打开接口文档:

实现下拉刷新和分页功能

下拉刷新会调用我们的查询

1,刷新关注,2刷新推荐

实现分页:

在controller中加入我们的参数:

同时要给一个默认值:

这里与我们的前端对应,分别是页码和我们的每页展示的数量。

1和10是通用变量:

在service接口中:

实现:

PageHelper.startPage(page,pageSize)是一个的切面,把我们相应的sql语句拿到,帮我们做一个分页。

这里的list带有分页功能。

接着要对我们的list进行封装:

    @Overridepublic PagedGridResult getIndexVlogList(String search,Integer page,Integer pageSize){PageHelper.startPage(page,pageSize);Map<String,Object> map = new HashMap<>();if(StringUtils.isNotBlank(search)){map.put("search",search);}List<IndexVlogVO> list= vlogMapperCustom.getIndexVlogList(map);
//        return list;return setterPagedGrid(list,page);}

在controller中:

    @PostMapping("indexList")public GraceJSONResult indexList(@RequestParam(defaultValue = "") String search,@RequestParam Integer page,@RequestParam Integer pageSize){if(page == null){page=COMMON_START_PAGE;}if(pageSize == null){pageSize=COMMON_PAGE_SIZE;}PagedGridResult gridResult = vlogService.getIndexVlogList(search,page,pageSize);return GraceJSONResult.ok(gridResult);}

重启,调试:

在APP主页中就能下拉查看视频了,除此之外还有一个下拉刷新的功能:

还有一个搜索的功能:

点击搜索:

注:这里是一个瀑布流。

点进去之后是我们的查询视频信息,这里我们还没有完成接口》

从零开始搭建仿抖音短视频APP-后端开发短视频业务模块(2)相关推荐

  1. 从零开始搭建仿抖音短视频APP-后端消息业务模块开发(2)-基础版完结篇

    项目持续更新中: 仿抖音短视频APP专栏 目录 系统消息入库保存 MongoDB分页查询系统消息列表 删除系统消息 系统消息入库保存 这里还剩下最后一个点赞评论没有完成 这里如果点赞了你的评论,你们视 ...

  2. 从零开始搭建仿抖音短视频APP-开发用户业务模块(3)

    项目持续更新中: 仿抖音短视频APP专栏 目录 注册登录-BO接受前端参数验证 对BO校验进行统一封装 开发用户是否存在 开发创建用户Service 实现短信注册登录与分布式会话 注册登录-BO接受前 ...

  3. 从零开始搭建仿抖音短视频APP-构建后端项目

    项目持续创作中... ​​​​​​仿抖音短视频APP项目专栏 目录 聚合工程 构建父工程 构建子工程 构建接口工程并且暴露api接口 优雅Restful相应封装 Lombok与多环境profile 数 ...

  4. 从零开始搭建仿抖音短视频APP-后端开发消息业务模块(1)

    项目持续更新中: 仿抖音短视频APP专栏 目录 保存系统消息到MongoDB 系统消息入库保存-关注 系统消息入库保存-点赞短视频 系统消息入库保存-评论与回复 保存系统消息到MongoDB 我们把m ...

  5. 从零开始搭建仿抖音短视频APP-后端开发短视频业务模块(3)

    项目持续更新中: 仿抖音短视频APP专栏 目录 视频详情页展示的数据层实现 视频详情页展示的api实现 短视频下载.复制连接.二维码展示 视频保存到相册 复制链接 二维码展示 实现转为私密或公开视频 ...

  6. 从零开始搭建仿抖音短视频APP-开发用户业务模块(2)

    项目持续创作中: 仿抖音短视频APP项目专栏 目录 安装redis6.0缓存中间件 整合Redis并存储验证码 拦截器限制60s短信发送 优雅异常封装返回拦截器异常 安装redis6.0缓存中间件 需 ...

  7. 从零开始搭建仿抖音短视频APP--后端开发粉丝业务模块(3)

    项目持续创作中: 仿抖音短视频APP专栏 目录 实现用户点赞视频 用户取消点赞 用户是否点赞视频的判断 实现用户点赞视频 用户在点赞我们的视频后,我们需要去实现一些相关的业务, 这里需要对应到数据库的 ...

  8. 从零开始搭建仿抖音短视频APP--后端开发粉丝业务模块(1)

    项目持续更新中: 仿抖音短视频APP专栏 目录 关注短视频博主 Redis技术妙用 取消关注博主 关注短视频博主 在我们的主页中,刷视频时是可以在头像下方进行一个关注 点击头像,进入对方的主页也是可以 ...

  9. 从零开始搭建仿抖音短视频APP--开发用户业务模块(4)

    项目持续更新中: 仿抖音短视频APP专栏 目录 用户退出登录 开发查询用户信息接口 统一封装修改用户信息(一) 统一封装修改用户信息(二) 用户退出登录 此时还没有实现退出登录. 在前端中,我们找到l ...

最新文章

  1. Multi-Task Learning的几篇综述文章
  2. mysql 全值匹配什么意思
  3. 数据结构源码笔记(C语言):英文单词按字典序排序的基数排序
  4. 八、Java中的i++和++i到底是什么?
  5. MapReduce中源码分析(map端的过程)
  6. 凤凰涅槃:从 iBatis 到 MyBatis
  7. 软件测试系列之四 单元测试(Junit)
  8. 程序员的发展方向是什么?
  9. php密送,向多个收件人发送电子邮件 – 抄送:和密送:在PHP中
  10. 最佳路径搜索(二):启发式搜索(代价一致搜索(Dijkstra search),贪心搜索,A*搜索)
  11. JAVA web App扫码登录
  12. Element UI练习
  13. 大型网站架构技术一览(李智慧著.大型网站技术架构.附录A)
  14. Linux中vsftpd服务配置(匿名,用户,虚拟用户)
  15. mongoose 更新保存数据的时候自动插入__v
  16. 一起写RPC框架(一)RPC之我所见
  17. 【观察】戴尔科技+VMware:多云演进,步步为“赢”
  18. Java笔记-面向对象(上)
  19. 安卓识别exfat_如何使安卓手机能够读写移动硬盘?
  20. HTML.网页程序设计

热门文章

  1. 什么视频播放器最好用?
  2. noi题库1010. 邮寄包裹
  3. 中国分离机械行业专项研究及投资战略研究报告2022-2028年版
  4. 兼容和图片整合(浏览器相关及兼容问题)
  5. 应用服务器软件市场“暗战”正酣
  6. 赤套の炎使い(デューイ) / 赤套(异时层水拳)
  7. Java 如何串口通信以及常见报错解决
  8. Esp8266的编译环境搭建和打印一个hellow wold程序
  9. STM32 ES8266上阿里云IOT MQTT实践【第三章】:什么是MCU?
  10. 永磁同步电机弱磁控制控制仿真