Web Analytics

uni-pagination

⭐ 191 stars Spanish by taoganio

🌐 Language

Uni-Pagination Framework de Paginación

Uni Pagination es un framework de paginación genérico basado en Java que, mediante un diseño abstracto, ofrece una interfaz unificada de consulta de paginación para diferentes fuentes de datos. El framework adopta una arquitectura modular, actualmente integrando múltiples fuentes de datos como JDBC, Mybatis, MongoDB, Elasticsearch, y proporciona un mecanismo flexible de extensión.

Diseño Central

El diseño central del framework gira en torno a cuatro componentes clave:

Objetivos de Diseño

Escenarios de aplicación

Módulos principales

uni-pagination

Biblioteca principal de paginación, que proporciona interfaces básicas de paginación e implementaciones abstractas.

uni-pagination-jdbc

Módulo de soporte para fuentes de datos JDBC, que ofrece una implementación de paginación basada en JDBC.

uni-pagination-jdbc-mybatis

Módulo de integración con MyBatis, que proporciona soporte para integración con el framework MyBatis.

uni-pagination-mongodb

Componente de integración con MongoDB, usado para soportar consultas de paginación en MongoDB.

spring-boot-starter-web-uni-pagination

Módulo de soporte para paginación en entornos Spring MVC, que ofrece integración con Spring MVC, tan sencillo como escribir un controlador normal.

web-uni-pagination-test

Módulo de pruebas de paginación para entornos Spring Boot Web, que proporciona pruebas de integración para funcionalidades de paginación.

Inicio rápido, tomando uni-pagination-jdbc como ejemplo

Dependencia Maven


   io.github.taoganio
   uni-pagination-jdbc
   1.0.0

Ejemplo sencillo

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

Agradecimientos

Durante el desarrollo de este marco, me vi profundamente influenciado e inspirado por la comunidad de código abierto. Gracias a aquellos expertos que comparten desinteresadamente su experiencia técnica, es su sabiduría y contribución lo que ha permitido el nacimiento de este marco. Un agradecimiento especial a los excelentes proyectos de código abierto que aportaron inspiración en diseño y enfoques de implementación; estas valiosas experiencias me permiten avanzar sobre los hombros de gigantes.

¡Gracias a todos los expertos que contribuyen a la comunidad de código abierto!

🌟 Apoya el proyecto

Si crees que este proyecto te ha sido útil, ¡te invitamos a hacer clic en la ⭐Estrella en la esquina superior derecha para apoyarme!

--- Tranlated By Open Ai Tx | Last indexed: 2025-12-17 ---