Web Analytics

uni-pagination

⭐ 191 stars Korean by taoganio

🌐 Language

Uni-Pagination 페이징 프레임워크

Uni Pagination은 Java 기반의 범용 페이징 프레임워크로, 추상화된 설계를 통해 다양한 데이터 소스에 대해 통일된 페이징 쿼리 인터페이스를 제공합니다. 프레임워크는 모듈화 아키텍처를 채택하여 현재 JDBC, Mybatis, MongoDB, Elasticsearch 등 여러 데이터 소스를 통합하고 유연한 확장 메커니즘을 제공합니다.

핵심 설계

프레임워크의 핵심 설계는 네 가지 주요 컴포넌트를 중심으로 전개됩니다:

설계 목표

적용 시나리오

핵심 모듈

uni-pagination

핵심 페이징 라이브러리로, 기본 페이징 인터페이스와 추상 구현을 제공.

uni-pagination-jdbc

JDBC 데이터 소스 지원 모듈로, JDBC 기반 페이징 구현 제공.

uni-pagination-jdbc-mybatis

MyBatis 통합 모듈로, MyBatis 프레임워크와의 통합 지원 제공.

uni-pagination-mongodb

MongoDB 통합 컴포넌트로, MongoDB 페이징 쿼리 지원.

spring-boot-starter-web-uni-pagination

Spring MVC 환경에서의 페이징 지원 모듈로, Spring MVC와의 통합 지원을 제공하며 일반 컨트롤러 작성처럼 간단함.

web-uni-pagination-test

Spring Boot Web 환경에서의 페이징 테스트 모듈로, 페이징 기능 통합 테스트 제공.

빠른 시작, uni-pagination-jdbc를 예로

Maven 의존성


   io.github.taoganio
   uni-pagination-jdbc
   1.0.0

간단한 예제

public class PaginationTest {
   
    public void page() {
        PaginationStatementTemplate operations = new PaginationStatementTemplate();
        operations.addStatementExecutor(new Sql2oPaginationNamedParameterStatementExecutor(dataSource));
        
        // 1. 创建分页语句
        PaginationStatement statement = of(b -> b
                .sql("SELECT * FROM user WHERE username LIKE :username")
                .paramMap("username", "%admin%")
                .pageable(0, 10)
                .sort("id", Sort.Direction.DESC));
        
        // 2. 执行查询
        PageInformation information = operations.queryForInformation(statement);
        Page page = operations.queryForResultSet(statement, new JdbcBeanPropertyPaginationRowMapper<>(User.class));
    }

// User实体类 class User { private Long id; private String username; // getters and setters } }

감사의 말

이 프레임워크를 개발하는 과정에서 저는 오픈 소스 커뮤니티의 영향과 영감을 많이 받았습니다. 기술 경험을 아낌없이 공유해 주신 고수분들께 감사드리며, 여러분의 지혜와 기여 덕분에 이 프레임워크가 탄생할 수 있었습니다. 특히 뛰어난 오픈 소스 프로젝트들이 제공한 디자인 영감과 구현 아이디어에 특별히 감사드립니다. 이 소중한 경험 덕분에 거인의 어깨 위에 서서 계속 나아갈 수 있었습니다.

오픈 소스 커뮤니티에 기여한 모든 기술 고수분들께 감사드립니다!

🌟 프로젝트 지원

이 프로젝트가 도움이 되었다면, 우측 상단의 ⭐Star 를 클릭하여 저를 응원해 주세요!

--- Tranlated By Open Ai Tx | Last indexed: 2025-12-17 ---