Web Analytics

uni-pagination

⭐ 191 stars Japanese by taoganio

🌐 Language

Uni-Pagination 分頁フレームワーク

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

コア設計

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

設計目標

適用シーン

コアモジュール

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