结合springboot+mybatis-plus+lombok,自定义Page封装类

简介: 结合springboot+mybatis-plus+lombok,自定义Page封装类

结合springboot+mybatis-plus+lombok,自定义Page封装类

结合Spring Boot,Mybatis-Plus和Lombok,可以自定义Page封装类来控制分页行为。 Mybatis-Plus是一款强大的数据库ORM框架,可轻松地在Spring应用程序中使用它。 Lombok是一个Java库,可以通过注解减少Java代码中的冗余性。

以下是一个简单的CustomPage封装类,这里我们使用的是Lombok注解:

import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class CustomPage<T> {
    private Long total;
    private List<T> records;
}

上述代码中,使用了@Data和@AllArgsConstructor注解。@Data生成了所有的getter、setter、toString等方法,@AllArgsConstructor则会生成一个包含类中所有变量的构造函数。

接下来,让我们把它与Mybatis-Plus集成实现基于MySQL数据库的分页查询:

@Service
public class ProductService {
    @Autowired
    ProductMapper productMapper;
    public CustomPage<Product> listProduct(Integer page, Integer size) {
        Page<Product> pageParam = new Page<>(page, size);
        IPage<Product> iPage = productMapper.selectPage(pageParam, null);
        return new CustomPage<>(iPage.getTotal(), iPage.getRecords());
    }
}

这个示例中,我们依靠注入mapper对象并通过自定义分页类 CustomPage 对结果进行适当的封装。

我们使用了 Page 和 IPage类来管理要返回数据的页面,并需要传递相应的信息(如页数和每页的大小)。 该方法返回类型是我们的自定义分页类,它将 iPage 对象中的记录封装到 records 属性中,总条目数则保存在 total 属性中。

结合Spring Boot、Mybatis-Plus和Lombok来自定义分页封装类,使得可以无需编写大量繁琐的代码而能够灵活地实现各种定制的查询逻辑。

相关文章
|
8天前
|
SQL XML Java
七、MyBatis自定义映射resultMap
七、MyBatis自定义映射resultMap
26 6
|
17天前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
63 12
|
2月前
|
SQL JavaScript Java
Spring Boot 3 整合 Mybatis-Plus 实现数据权限控制
本文介绍了如何在Spring Boot 3中整合MyBatis-Plus实现数据权限控制,通过使用MyBatis-Plus提供的`DataPermissionInterceptor`插件,在不破坏原有代码结构的基础上实现了细粒度的数据访问控制。文中详细描述了自定义注解`DataScope`的使用方法、`DataPermissionHandler`的具体实现逻辑,以及根据用户的不同角色和部门动态添加SQL片段来限制查询结果。此外,还展示了基于Spring Boot 3和Vue 3构建的前后端分离快速开发框架的实际应用案例,包括项目的核心功能模块如用户管理、角色管理等,并提供Gitee上的开源仓库
366 11
|
4月前
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
4月前
|
Java
springboot将list封装成csv文件
springboot将list封装成csv文件
83 4
|
5月前
|
Java API Spring
springBoot:注解&封装类&异常类&登录实现类 (八)
本文介绍了Spring Boot项目中的一些关键代码片段,包括使用`@PathVariable`绑定路径参数、创建封装类Result和异常处理类GlobalException、定义常量接口Constants、自定义异常ServiceException以及实现用户登录功能。通过这些代码,展示了如何构建RESTful API,处理请求参数,统一返回结果格式,以及全局异常处理等核心功能。
|
5月前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
401 1
|
5月前
|
JSON 缓存 前端开发
SpringBoot的 ResponseEntity类讲解(具体讲解返回给前端的一些事情)
本文讲解了SpringBoot中的`ResponseEntity`类,展示了如何使用它来自定义HTTP响应,包括状态码、响应头和响应体,以及如何将图片从MinIO读取并返回给前端。
319 3
|
5月前
|
Java Spring 容器
Springboot3.2.1搞定了类Service和bean注解同名同类型问题修复
这篇文章讨论了在Spring Boot 3.2.1版本中,同名同类型的bean和@Service注解类之间冲突的问题得到了解决,之前版本中同名bean会相互覆盖,但不会在启动时报错,而在配置文件中设置`spring.main.allow-bean-definition-overriding=true`可以解决这个问题。
181 0
Springboot3.2.1搞定了类Service和bean注解同名同类型问题修复
|
5月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
1033 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个