Web Analytics

uni-page

⭐ 158 stars Thai 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 Dependency


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