Risc-v学习平台-项目实训第五次总结-SDU

本次工作总结

  1. 完成新闻相关的后端功能

​ 包括:分页返回所有新闻、返回新闻总页数、返回主页展示所需部分新闻

相关业务实现

分页返回所有新闻

作为新闻资源页面展示的数据支持,需要根据前端传过来的页码,返回响应页数据。

Controller层:

所有新闻:

@PostMapping("/newslist")
public Result allnews(int pageNum){
    PageParams pageParams = new PageParams(pageNum);
    List<News> newsList = newsService.listNewsPage(pageParams);
    return Result.success(newsList);
}

总页数:

@PostMapping("/newspageNum")
public Result newspageNum(){
    Integer newsPageNum = newsService.getAllNews().size();
    if(newsPageNum % 20 == 0){
        return Result.success(newsPageNum / 20);
    }else {
        return Result.success((newsPageNum / 20) + 1);
    }
}

这里根据前端传过来的pageNum来返回后端数据

Service层:

@Override
public List<News> listNewsPage(PageParams pageParams) {
    List<News> newsList = newsMapper.listPaperByParams((pageParams.getPageNum()-1)*pageParams.getPageSize(), pageParams.getPageSize());
    int size = newsList.size();
    int count=0;
    int pageSize = pageParams.getPageSize();
    if(size%pageSize!=0){
        count=pageSize-size%pageSize;
    }
    for(int i=0;i<count;i++){
        newsList.add(new News());
    }
    return newsList;
}

mapper层:

<select id="listPaperByParams" resultType="com.sanelysong.riscv.pojo.News">
    SELECT *
    FROM t_news
    ORDER BY time desc
    limit #{pageStart},#{pageSize}
</select>

Postman测试效果:
请添加图片描述

主页展示所需

实现比较简单的,主要是查询语句的编写,返回最新的几个新闻

Controller

@PostMapping("/somenews")
public Result somenews(){
    List<News> list = newsService.getNewNews(1);
    return Result.success(list);
}

Service

@Override
public List<News> getNewNews(int num) {
    return newsMapper.getSomeNews();
}

mapper

<select id="getSomeNews" resultType="com.sanelysong.riscv.pojo.News">
    SELECT *
    FROM t_news
    ORDER BY time DESC
    LIMIT 7
</select>

Postman测试效果

请添加图片描述

本次工作总结

这次完成了新闻资源后端功能的实现。

下个博客可以分享一下Gitee的使用和Vue前端项目的部署。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值