Web Analytics

uni-page

⭐ 158 stars Korean by ethan-carter-g

🌐 언어

Uni-Page 페이징 프레임워크

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

핵심 설계

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

설계 목표

적용 사례

핵심 모듈

uni-page

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

uni-page-jdbc

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

uni-page-jdbc-mybatis

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

uni-page-mongodb

MongoDB 데이터 소스 지원 모듈로, MongoDB 기반 페이징 구현을 제공합니다.

uni-page-elasticsearch

Elasticsearch 데이터 소스 지원 모듈로, ES 기반 페이징 구현을 제공합니다.

spring-boot-starter-web-uni-page

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

web-uni-page-test

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

빠른 시작, uni-page-jdbc 예시

Maven 의존성


    com.github.ethancarter
    uni-page-jdbc
    1.9

간단한 예제

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-08-28 ---