Web Analytics

uni-page

⭐ 158 stars Portuguese by ethan-carter-g

🌐 Idioma

Uni-Page Framework de Paginação

Uni-Page é um framework de paginação universal baseado em Java, que fornece uma interface unificada para consultas paginadas em diferentes fontes de dados por meio de um design abstrato. O framework adota uma arquitetura modular, atualmente integrando várias fontes de dados como JDBC, Mybatis, MongoDB, Elasticsearch, e oferece um mecanismo flexível de extensão.

Design Central

O design central do framework é estruturado em torno de quatro componentes-chave:

Objetivos de Design

Cenários de Aplicação

Módulos Principais

uni-page

Biblioteca central de paginação, fornece interfaces básicas de paginação e implementações abstratas.

uni-page-jdbc

Módulo de suporte a fonte de dados JDBC, fornece implementação de paginação baseada em JDBC.

uni-page-jdbc-mybatis

Módulo de integração com MyBatis, oferece suporte à integração com o framework MyBatis.

uni-page-mongodb

Módulo de suporte a fonte de dados MongoDB, fornece implementação de paginação baseada em MongoDB.

uni-page-elasticsearch

Módulo de suporte a fonte de dados Elasticsearch, oferece implementação de paginação baseada em ES.

spring-boot-starter-web-uni-page

Módulo de suporte à paginação em ambiente Spring MVC, fornece integração com Spring MVC, tornando tão simples quanto escrever um controlador comum.

web-uni-page-test

Módulo de testes de paginação em ambiente Spring Boot Web, fornece testes integrados de funcionalidade de paginação.

Início Rápido, usando uni-page-jdbc como exemplo

Dependência Maven


    com.github.ethancarter
    uni-page-jdbc
    1.9

Exemplo simples

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

Agradecimentos

Durante o desenvolvimento deste framework, fui profundamente influenciado e inspirado pela comunidade de código aberto. Agradeço aos especialistas que compartilharam generosamente suas experiências técnicas; é a sabedoria e a contribuição de vocês que permitiram o nascimento deste framework. Agradeço especialmente aos excelentes projetos open source pelas inspirações de design e ideias de implementação, pois essas experiências valiosas me permitiram continuar avançando sobre os ombros de gigantes.

Obrigado a todos os especialistas técnicos que contribuíram para a comunidade open source!

🌟 Apoie o projeto

Se você acha que este projeto foi útil para você, fique à vontade para clicar na ⭐Star no canto superior direito para me apoiar!

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