Web Analytics

uni-page

⭐ 158 stars Persian 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 } }

تقدیر و تشکر

در فرآیند توسعه این فریم‌ورک، من بسیار تحت تأثیر و الهام جامعه متن‌باز قرار گرفتم. از اساتیدی که تجربیات فنی خود را بی‌دریغ به اشتراک گذاشتند سپاسگزارم؛ خرد و مشارکت شما باعث شد این فریم‌ورک متولد شود. به طور خاص، از پروژه‌های متن‌باز برجسته که ایده‌های طراحی و راهکارهای اجرایی را ارائه دادند، قدردانی می‌کنم؛ این تجربیات ارزشمند به من امکان داد تا بر شانه‌های غول‌ها حرکت کنم.

از تمامی اساتید فنی که به جامعه متن‌باز کمک کرده‌اند سپاسگزارم!

🌟 حمایت از پروژه

اگر این پروژه برای شما مفید بوده است، خوشحال می‌شوم با کلیک روی ستاره ⭐ در بالا سمت راست از من حمایت کنید!

--- Tranlated By Open Ai Tx | Last indexed: 2025-08-28 ---