验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

基于SpringBoot和Vue3的博客平台文章列表与分页功能怎么实现

阅读:920 来源:乙速云 作者:代码code

基于SpringBoot和Vue3的博客平台文章列表与分页功能怎么实现

1. 后端Spring Boot实现

我们将使用Spring Boot作为后端框架,并使用MySQL作为数据库。

1.1 修改ArticleMapper接口

为了支持分页功能,我们需要修改ArticleMapper.java文件,添加一个新方法findPage,同时更新findAll方法为findPage方法。

@Mapper
public interface ArticleMapper {
    List
 findPage(@Param("offset") int offset, @Param("pageSize") int pageSize);     Article findById(Integer id);     void insert(Article article);     void update(Article article);     void delete(Integer id);     int count(); }

1.2 修改ArticleService接口及实现

ArticleService.java文件中,将findAll方法替换为findPage方法,同时添加一个新方法count

public interface ArticleService {
    List
 findPage(int offset, int pageSize);     Article findById(Integer id);     void create(Article article);     void update(Article article);     void delete(Integer id);     int count(); }

接着,在ArticleServiceImpl.java文件中,修改对应的实现。

@Service
public class ArticleServiceImpl implements ArticleService {
    @Autowired
    private ArticleMapper articleMapper;
 
    @Override
    public List
 findPage(int offset, int pageSize) {         return articleMapper.findPage(offset, pageSize);     }       // ...其他方法不变 }

1.3 修改ArticleController类

ArticleController.java文件中,修改list方法,接收pagepageSize参数,并调用findPagecount方法获取分页数据。

@RestController
@RequestMapping("/api/article")
public class ArticleController {
    @Autowired
    private ArticleService articleService;
 
    @GetMapping
    public Result list(@RequestParam(required = false, defaultValue = "1") int page,
                       @RequestParam(required = false, defaultValue = "10") int pageSize) {
        int offset = (page - 1) * pageSize;
        List
 articles = articleService.findPage(offset, pageSize);         int totalCount = articleService.count();         return Result.success("获取文章列表成功", new PageData<>(articles, totalCount, pageSize, page));     }       // ...其他方法不变 }

2. 前端Vue3实现

2.1 修改文章列表页面组件

ArticleList.vue组件中,修改fetchArticles方法,接收pagepageSize参数,并将数据显示在表格中。同时,添加组件实现分页。


      
    
    
    
  
 

在这个修改后的ArticleList.vue组件中,我们添加了组件以实现分页功能。当用户更改分页大小或当前页时,分别触发handleSizeChange和handleCurrentChange方法。这两个方法都会调用fetchArticles方法,根据当前页和分页大小重新获取文章列表数据。

分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>