Web Analytics

uni-page

⭐ 158 stars Vietnamese by ethan-carter-g

🌐 Ngôn ngữ

Uni-Page Khung Phân Trang

Uni-Page là một khung phân trang tổng quát dựa trên Java, thông qua thiết kế trừu tượng, cung cấp giao diện truy vấn phân trang thống nhất cho các nguồn dữ liệu khác nhau. Khung này sử dụng kiến trúc dạng module, hiện tại đã tích hợp nhiều nguồn dữ liệu như JDBC, Mybatis, MongoDB, Elasticsearch, đồng thời cung cấp cơ chế mở rộng linh hoạt.

Thiết kế cốt lõi

Thiết kế cốt lõi của khung xoay quanh bốn thành phần chính:

Mục tiêu thiết kế

Các trường hợp áp dụng

Các mô-đun cốt lõi

uni-page

Thư viện phân trang cốt lõi, cung cấp các giao diện phân trang cơ bản và các triển khai trừu tượng.

uni-page-jdbc

Mô-đun hỗ trợ nguồn dữ liệu JDBC, cung cấp triển khai phân trang dựa trên JDBC.

uni-page-jdbc-mybatis

Mô-đun tích hợp MyBatis, cung cấp hỗ trợ tích hợp với framework MyBatis.

uni-page-mongodb

Mô-đun hỗ trợ nguồn dữ liệu MongoDB, cung cấp triển khai phân trang dựa trên MongoDB.

uni-page-elasticsearch

Mô-đun hỗ trợ nguồn dữ liệu Elasticsearch, cung cấp triển khai phân trang dựa trên ES.

spring-boot-starter-web-uni-page

Mô-đun hỗ trợ phân trang trong môi trường Spring MVC, cung cấp khả năng tích hợp với Spring MVC, đơn giản như viết một controller thông thường.

web-uni-page-test

Mô-đun kiểm thử phân trang trong môi trường Spring Boot Web, cung cấp kiểm thử tích hợp chức năng phân trang.

Bắt đầu nhanh, lấy uni-page-jdbc làm ví dụ

Phụ thuộc Maven


    com.github.ethancarter
    uni-page-jdbc
    1.9

Ví dụ đơn giản

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

Lời cảm ơn

Trong quá trình phát triển khung công tác này, tôi đã nhận được nhiều ảnh hưởng và cảm hứng từ cộng đồng mã nguồn mở. Xin cảm ơn những bậc tiền bối đã chia sẻ kinh nghiệm kỹ thuật một cách vô tư, chính trí tuệ và đóng góp của các bạn đã giúp khung công tác này ra đời. Đặc biệt cảm ơn các dự án mã nguồn mở xuất sắc đã mang lại cảm hứng thiết kế và ý tưởng triển khai, những kinh nghiệm quý giá đó đã giúp tôi có thể tiếp tục tiến bước trên vai những người khổng lồ.

Xin cảm ơn tất cả các bậc tiền bối kỹ thuật đã đóng góp cho cộng đồng mã nguồn mở!

🌟 Ủng hộ dự án

Nếu bạn cảm thấy dự án này hữu ích với mình, hãy nhấn nút ⭐Star ở góc phải phía trên để ủng hộ tôi nhé!

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