From f15ea65c06b19604c30fe26dc22643d4701f7dbb Mon Sep 17 00:00:00 2001 From: Rebwon Date: Sat, 16 Oct 2021 12:09:26 +0900 Subject: [PATCH] Implements Article Pagination Query --- .../yam/app/article/domain/ArticleReader.java | 4 ++++ .../MybatisArticleRepository.java | 6 ++++++ .../mapper/xml/ArticleQueryMapper.xml | 14 +++++++++++++ .../article/domain/FakeArticleRepository.java | 6 ++++++ .../infrastructure/ArticleReaderTest.java | 21 +++++++++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 src/test/java/com/yam/app/article/infrastructure/ArticleReaderTest.java diff --git a/src/main/java/com/yam/app/article/domain/ArticleReader.java b/src/main/java/com/yam/app/article/domain/ArticleReader.java index 4e1e304..98a6879 100644 --- a/src/main/java/com/yam/app/article/domain/ArticleReader.java +++ b/src/main/java/com/yam/app/article/domain/ArticleReader.java @@ -1,6 +1,8 @@ package com.yam.app.article.domain; +import java.util.List; import java.util.Optional; +import org.apache.ibatis.annotations.Param; public interface ArticleReader { @@ -9,4 +11,6 @@ public interface ArticleReader { Optional
findById(Long articleId); boolean existsById(Long articleId); + + List findAll(@Param("offset") int offset, @Param("limit") int limit); } diff --git a/src/main/java/com/yam/app/article/infrastructure/MybatisArticleRepository.java b/src/main/java/com/yam/app/article/infrastructure/MybatisArticleRepository.java index 2128103..bd4569b 100644 --- a/src/main/java/com/yam/app/article/infrastructure/MybatisArticleRepository.java +++ b/src/main/java/com/yam/app/article/infrastructure/MybatisArticleRepository.java @@ -3,6 +3,7 @@ package com.yam.app.article.infrastructure; import com.yam.app.article.domain.Article; import com.yam.app.article.domain.ArticleReader; import com.yam.app.article.domain.ArticleRepository; +import java.util.List; import java.util.Optional; import org.mybatis.spring.SqlSessionTemplate; @@ -40,4 +41,9 @@ public final class MybatisArticleRepository implements ArticleReader, ArticleRep return template.getMapper(ArticleReader.class).existsById(articleId); } + @Override + public List findAll(int offset, int limit) { + return template.getMapper(ArticleReader.class).findAll(offset, limit); + } + } diff --git a/src/main/resources/mapper/xml/ArticleQueryMapper.xml b/src/main/resources/mapper/xml/ArticleQueryMapper.xml index 49d96ca..3008999 100644 --- a/src/main/resources/mapper/xml/ArticleQueryMapper.xml +++ b/src/main/resources/mapper/xml/ArticleQueryMapper.xml @@ -3,6 +3,20 @@ + + + + + +