Web Analytics

uni-page

⭐ 158 stars Arabic 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 ---