一、概述
上一節我們已經把數據爬取到了數據庫中並保存了起來,這章就要把數據在大屏上展示出來,先在大屏上展示前20個博主的排名、票數及名次相對於前一日的升降情況。最終實現的效果如下:
這個效果相當完美了,我們來一步一步實現它。
二、實現思路
對於排名、序號、博主名字、實時票數和最新採集時間這五個字段,我們只要取數據庫中最近一次採集的201個博主的數據,對他們按名次排序,取前20名拿出來即可。
對於相對於前一日的名次變化情況,略有麻煩,我們可以對當日和前一日201博主的名次相減,得到的就是名次的升降情況。因爲單純用SQL處理起來比較麻煩,所以我採用了SQL+Java的方式進行處理,步驟如下:
- 數據庫查詢當日和前一日最新採集的的201名博主的投票數據
- 遍歷今日和前一日數據計算出名次的升降情況並進行處理
- 截取前20名博主的數據並返回給頁面展示
三、DAO代碼
Mapper接口
List<Map<String, Object>> getScrollBoard(@Param("day") Integer day);
Mapper.xml代碼
<?xml version="1.0" encoding="