前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Echo 的帖子列表与分页是怎么做的

Echo 的帖子列表与分页是怎么做的

作者头像
飞天小牛肉
发布2021-04-26 12:17:46
8270
发布2021-04-26 12:17:46
举报
文章被收录于专栏:飞天小牛肉飞天小牛肉

业务逻辑这个模块的文章后续应该都会改成一元钱的付费文章了,emmm,算是一点精神上的慰藉吧。毕竟这种类型的文章不像 Java 八股文那样铺天盖地都是现成的博客、书籍可以参考,完全自己写,所以写一篇通俗易懂的教程文章确实需要花费很大的精力,而且对我个人的提升几乎为 0,有时候遇到没有礼貌的拿来主义党真是得郁闷好一会儿,所以一两块钱算是对我的一点酬劳吧,小牛肉出品,质量保证!各位小伙伴各取所取就好,能自己搞懂的就没必要付费了(抱拳)。

概述

帖子列表,也就是 Echo 社区的首页,整体实现思路非常简单,传统的 MVC 三层架构,去数据库利用 limit 语句分页查询帖子,不过由于涉及到分页显示的问题,所以这里有必要开一篇文章单独说一下。

img

Dao 层

我们先来看看 mapper 接口是如何定义的,下面代码详见 DiscussPostMapper

各位可以看到 selectDiscussPosts 方法我们传入的参数比较多,适应性比较强,这样同一个功能的接口我们只需要写一个就行了。

为啥说它适应性比较强,我来解释一下:对于查询用户帖子这个功能,不仅仅只有 Echo 社区的首页有这个需求,在【个人中心-我的帖子】这个模块中也有这个需求。最简单的想法可能就是分别定义两个接口,一个用来根据用户 id 查询帖子,一个查询所有用户的帖子,对吧?这样一看,各位是不是觉得我们一个接口完成两个需求这样的设计就技高一筹了。

也就是说,我们不仅需要查询所有用户的帖子,还可能需要查询某一个特定用户的帖子。所以,在 selectDiscussPosts 这个接口中我们传入一个动态的参数 userId,为什么说它是动态的呢?因为在 MyBatis 中我们可以使用 <if test> 实现动态的拼接 SQL 语句,我们来看看这个接口的具体实现你就知道了,以下代码片段详见 discusspost-mapper.xml

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 飞天小牛肉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • Dao 层
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档