Web Analytics

uni-page

⭐ 158 stars Japanese by ethan-carter-g

🌐 言語

Uni-Page ページネーションフレームワーク

Uni-Page は Java ベースの汎用ページネーションフレームワークであり、抽象化設計により、異なるデータソースに対して統一されたページングクエリインターフェースを提供します。フレームワークはモジュール化アーキテクチャを採用し、現在 JDBC、Mybatis、MongoDB、Elasticsearch など様々なデータソースを統合しており、柔軟な拡張メカニズムも備えています。

コア設計

フレームワークのコア設計は、4 つの主要コンポーネントを中心に展開されます:

設計目標

適用シーン

コアモジュール

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