diff --git a/community-8073/src/main/java/com/ivmiku/tutorial/config/MpConfig.java b/community-8073/src/main/java/com/ivmiku/tutorial/config/MpConfig.java new file mode 100644 index 0000000..3d4bdfc --- /dev/null +++ b/community-8073/src/main/java/com/ivmiku/tutorial/config/MpConfig.java @@ -0,0 +1,15 @@ +package com.ivmiku.tutorial.config; +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +@Configuration +public class MpConfig { + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); + return interceptor; + } +} \ No newline at end of file diff --git a/community-8073/src/main/java/com/ivmiku/tutorial/controller/CommentController.java b/community-8073/src/main/java/com/ivmiku/tutorial/controller/CommentController.java index 561c3ac..b282ef3 100644 --- a/community-8073/src/main/java/com/ivmiku/tutorial/controller/CommentController.java +++ b/community-8073/src/main/java/com/ivmiku/tutorial/controller/CommentController.java @@ -2,6 +2,7 @@ package com.ivmiku.tutorial.controller; import cn.dev33.satoken.annotation.SaCheckLogin; import cn.dev33.satoken.stp.StpUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.PageInfo; import com.ivmiku.tutorial.entity.Comment; import com.ivmiku.tutorial.entity.Pages; @@ -210,7 +211,7 @@ public class CommentController { logger.info("获取帖子ID:{}的评论列表", postId); logger.info("获取pageSize:{}", pages.getPageSize()); System.out.println("aaaaaa" + pages.getPageSize()); - PageInfo comments = commentService.getPostComments(postId, pages.getPageNum(), pages.getPageSize()); + IPage comments = commentService.getPostComments(postId, pages.getPageNum(), pages.getPageSize()); return Result.ok(comments); } @@ -224,7 +225,7 @@ public class CommentController { @Operation(summary = "获取评论下的所有回复") public Result getCommentReplies(@PathVariable Long commentId, @RequestBody Pages pages) { logger.info("获取评论ID:{}的回复列表", commentId); - PageInfo replies = commentService.getCommentReplies(commentId, pages.getPageNum(), pages.getPageSize()); + IPage replies = commentService.getCommentReplies(commentId, pages.getPageNum(), pages.getPageSize()); return Result.ok(replies); } diff --git a/community-8073/src/main/java/com/ivmiku/tutorial/controller/PostController.java b/community-8073/src/main/java/com/ivmiku/tutorial/controller/PostController.java index 6e0fb22..ab8ebf2 100644 --- a/community-8073/src/main/java/com/ivmiku/tutorial/controller/PostController.java +++ b/community-8073/src/main/java/com/ivmiku/tutorial/controller/PostController.java @@ -2,6 +2,7 @@ package com.ivmiku.tutorial.controller; import cn.dev33.satoken.annotation.SaCheckLogin; import cn.dev33.satoken.stp.StpUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.PageInfo; import com.ivmiku.tutorial.entity.Pages; import com.ivmiku.tutorial.entity.Post; @@ -116,7 +117,7 @@ public class PostController { public Result getPostList(@RequestBody Pages pages) { logger.info("开始获取帖子列表"); String userId = StpUtil.getLoginIdAsString(); // 获取当前登录用户的ID - PageInfo posts = postService.getPostList(userId, pages.getPageNum(), pages.getPageSize()); + IPage posts = postService.getPostList(userId, pages.getPageNum(), pages.getPageSize()); return Result.ok(posts); // 调用服务层获取帖子列表 } @@ -127,7 +128,7 @@ public class PostController { @GetMapping("/getCommunityPostList{communityId}") public Result getCommunityPostList(@PathVariable("communityId") Long communityId, @RequestBody Pages pages) { logger.info("开始获取帖子列表"); - PageInfo posts = postService.getCommunityPostList(communityId, pages.getPageNum(), pages.getPageSize()); + IPage posts = postService.getCommunityPostList(communityId, pages.getPageNum(), pages.getPageSize()); return Result.ok(posts); // 调用服务层获取帖子列表 } @@ -136,7 +137,7 @@ public class PostController { * @return */ @GetMapping("/official") - public PageInfo getOfficialPosts(@RequestBody Pages pages) { + public IPage getOfficialPosts(@RequestBody Pages pages) { return postService.getOfficialPosts(pages.getPageNum(), pages.getPageSize()); } @@ -145,7 +146,7 @@ public class PostController { * @return */ @GetMapping("/nonOfficial") - public PageInfo getNonOfficialPosts(@RequestBody Pages pages) { + public IPage getNonOfficialPosts(@RequestBody Pages pages) { return postService.getNonOfficialPosts(pages.getPageNum(), pages.getPageSize()); } diff --git a/community-8073/src/main/java/com/ivmiku/tutorial/service/CommentService.java b/community-8073/src/main/java/com/ivmiku/tutorial/service/CommentService.java index acb020c..5d17878 100644 --- a/community-8073/src/main/java/com/ivmiku/tutorial/service/CommentService.java +++ b/community-8073/src/main/java/com/ivmiku/tutorial/service/CommentService.java @@ -1,5 +1,6 @@ package com.ivmiku.tutorial.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.PageInfo; import com.ivmiku.tutorial.entity.Comment; import com.baomidou.mybatisplus.extension.service.IService; @@ -50,9 +51,9 @@ public interface CommentService extends IService { void deleteComment(Long commentId, String userId); - PageInfo getPostComments(Long postId, int pageNum, int pageSize); + IPage getPostComments(Long postId, int pageNum, int pageSize); - PageInfo getCommentReplies(Long commentId, int pageNum, int pageSize); + IPage getCommentReplies(Long commentId, int pageNum, int pageSize); /** * 回复评论。 diff --git a/community-8073/src/main/java/com/ivmiku/tutorial/service/PostService.java b/community-8073/src/main/java/com/ivmiku/tutorial/service/PostService.java index 0a37130..740e5d5 100644 --- a/community-8073/src/main/java/com/ivmiku/tutorial/service/PostService.java +++ b/community-8073/src/main/java/com/ivmiku/tutorial/service/PostService.java @@ -1,5 +1,6 @@ package com.ivmiku.tutorial.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.PageInfo; import com.ivmiku.tutorial.entity.Post; import com.baomidou.mybatisplus.extension.service.IService; @@ -12,13 +13,13 @@ public interface PostService extends IService { void updatePost(Long postId, String userId, Post post); void deletePost(Long postId, String userId); - PageInfo getPostList(String userId, int pageNum, int pageSize); + IPage getPostList(String userId, int pageNum, int pageSize); - PageInfo getCommunityPostList(Long communityId, int pageNum, int pageSize); + IPage getCommunityPostList(Long communityId, int pageNum, int pageSize); - PageInfo getOfficialPosts(int pageNum, int pageSize); + IPage getOfficialPosts(int pageNum, int pageSize); - PageInfo getNonOfficialPosts(int pageNum, int pageSize); + IPage getNonOfficialPosts(int pageNum, int pageSize); void changePublic(Long postId, Integer isPublic); } diff --git a/community-8073/src/main/java/com/ivmiku/tutorial/service/impl/CommentServiceImpl.java b/community-8073/src/main/java/com/ivmiku/tutorial/service/impl/CommentServiceImpl.java index 72587b2..67acb96 100644 --- a/community-8073/src/main/java/com/ivmiku/tutorial/service/impl/CommentServiceImpl.java +++ b/community-8073/src/main/java/com/ivmiku/tutorial/service/impl/CommentServiceImpl.java @@ -2,6 +2,8 @@ package com.ivmiku.tutorial.service.impl; import cn.dev33.satoken.stp.StpUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ivmiku.tutorial.entity.Comment; @@ -103,16 +105,17 @@ public class CommentServiceImpl extends ServiceImpl impl * @return List 返回评论列表 */ @Override - public PageInfo getPostComments(Long postId, int pageNum, int pageSize) { + public IPage getPostComments(Long postId, int pageNum, int pageSize) { logger.info("开始获取帖子ID:{}的评论列表,第{}页,每页{}条", postId, pageNum, pageSize); // 设置分页参数 - PageHelper.startPage(pageNum, pageSize); +// PageHelper.startPage(pageNum, pageSize); + IPage page = new Page<>(pageNum, pageSize); // 查询评论 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Comment::getPostId, postId).eq(Comment::getIsDeleted, 0); - List comments = commentMapper.selectList(wrapper); + IPage comments = commentMapper.selectPage(page, wrapper); if (comments != null) { logger.info("获取帖子ID:{}的评论列表成功", postId); @@ -121,7 +124,7 @@ public class CommentServiceImpl extends ServiceImpl impl } // 使用 PageInfo 包装结果 - return new PageInfo<>(comments); + return comments; } @@ -132,16 +135,16 @@ public class CommentServiceImpl extends ServiceImpl impl * @return List 返回回复列表 */ @Override - public PageInfo getCommentReplies(Long commentId, int pageNum, int pageSize) { + public IPage getCommentReplies(Long commentId, int pageNum, int pageSize) { logger.info("开始获取评论ID:{}的回复列表,第{}页,每页{}条", commentId, pageNum, pageSize); // 设置分页参数 - PageHelper.startPage(pageNum, pageSize); - +// PageHelper.startPage(pageNum, pageSize); + IPage page = new Page<>(pageNum, pageSize); // 查询回复 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Comment::getParentCommentId, commentId).eq(Comment::getIsDeleted, 0); - List replies = commentMapper.selectList(wrapper); + IPage replies = commentMapper.selectPage(page, wrapper); if (replies != null) { logger.info("获取评论ID:{}的回复列表成功", commentId); @@ -150,7 +153,7 @@ public class CommentServiceImpl extends ServiceImpl impl } // 使用 PageInfo 包装结果 - return new PageInfo<>(replies); + return replies; } /** * 回复评论。 diff --git a/community-8073/src/main/java/com/ivmiku/tutorial/service/impl/PostServiceImpl.java b/community-8073/src/main/java/com/ivmiku/tutorial/service/impl/PostServiceImpl.java index 69dc5c4..8236bc6 100644 --- a/community-8073/src/main/java/com/ivmiku/tutorial/service/impl/PostServiceImpl.java +++ b/community-8073/src/main/java/com/ivmiku/tutorial/service/impl/PostServiceImpl.java @@ -1,8 +1,11 @@ package com.ivmiku.tutorial.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.ivmiku.tutorial.entity.Comment; import com.ivmiku.tutorial.entity.Post; import com.ivmiku.tutorial.mapper.PostMapper; import com.ivmiku.tutorial.service.PostService; @@ -70,83 +73,83 @@ public class PostServiceImpl extends ServiceImpl implements Po } @Override - public PageInfo getPostList(String userId, int pageNum, int pageSize) { + public IPage getPostList(String userId, int pageNum, int pageSize) { logger.info("用户ID:{}开始获取帖子列表,第{}页,每页{}条", userId, pageNum, pageSize); // 设置分页参数 - PageHelper.startPage(pageNum, pageSize); - +// PageHelper.startPage(pageNum, pageSize); + IPage page = new Page<>(pageNum, pageSize); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Post::getUserOpenid, userId); wrapper.eq(Post::getIsDeleted, 0); wrapper.eq(Post::getIsPublic, 1); - List posts = postMapper.selectList(wrapper); + IPage posts = postMapper.selectPage(page, wrapper); // 使用PageInfo封装分页结果 - PageInfo pageInfo = new PageInfo<>(posts); +// PageInfo pageInfo = new PageInfo<>(posts); - return pageInfo; + return posts; } @Override - public PageInfo getCommunityPostList(Long communityId, int pageNum, int pageSize) { + public IPage getCommunityPostList(Long communityId, int pageNum, int pageSize) { logger.info("开始获取社区ID:{}的帖子列表,第{}页,每页{}条", communityId, pageNum, pageSize); // 设置分页参数 - PageHelper.startPage(pageNum, pageSize); - +// PageHelper.startPage(pageNum, pageSize); + IPage page = new Page<>(pageNum, pageSize); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Post::getCommunityId, communityId); wrapper.eq(Post::getIsDeleted, 0); wrapper.eq(Post::getIsPublic, 1); - List posts = postMapper.selectList(wrapper); + IPage posts = postMapper.selectPage(page, wrapper); // 使用PageInfo封装分页结果 - PageInfo pageInfo = new PageInfo<>(posts); +// PageInfo pageInfo = new PageInfo<>(posts); - return pageInfo; + return posts; } @Override - public PageInfo getOfficialPosts(int pageNum, int pageSize) { + public IPage getOfficialPosts(int pageNum, int pageSize) { logger.info("开始获取所有官方创建的帖子,第{}页,每页{}条", pageNum, pageSize); // 设置分页参数 - PageHelper.startPage(pageNum, pageSize); - +// PageHelper.startPage(pageNum, pageSize); + IPage page = new Page<>(pageNum, pageSize); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Post::getIsOfficial, 1); wrapper.eq(Post::getIsDeleted, 0); wrapper.eq(Post::getIsPublic, 1); - List posts = postMapper.selectList(wrapper); + IPage posts = postMapper.selectPage(page, wrapper); // 使用PageInfo封装分页结果 - PageInfo pageInfo = new PageInfo<>(posts); +// PageInfo pageInfo = new PageInfo<>(posts); - return pageInfo; + return posts; } @Override - public PageInfo getNonOfficialPosts(int pageNum, int pageSize) { + public IPage getNonOfficialPosts(int pageNum, int pageSize) { logger.info("开始获取所有非官方创建的帖子,第{}页,每页{}条", pageNum, pageSize); // 设置分页参数 - PageHelper.startPage(pageNum, pageSize); - +// PageHelper.startPage(pageNum, pageSize); + IPage page = new Page<>(pageNum, pageSize); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Post::getIsOfficial, 0); wrapper.eq(Post::getIsDeleted, 0); wrapper.eq(Post::getIsPublic, 1); - List posts = postMapper.selectList(wrapper); + IPage posts = postMapper.selectPage(page, wrapper); // 使用PageInfo封装分页结果 - PageInfo pageInfo = new PageInfo<>(posts); +// PageInfo pageInfo = new PageInfo<>(posts); - return pageInfo; + return posts; } @Override