结合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月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于 xml 的整合
本教程介绍了基于XML的MyBatis整合方式。首先在`application.yml`中配置XML路径,如`classpath:mapper/*.xml`,然后创建`UserMapper.xml`文件定义SQL映射,包括`resultMap`和查询语句。通过设置`namespace`关联Mapper接口,实现如`getUserByName`的方法。Controller层调用Service完成测试,访问`/getUserByName/{name}`即可返回用户信息。为简化Mapper扫描,推荐在Spring Boot启动类用`@MapperScan`注解指定包路径避免逐个添加`@Mapper`
445 0
|
5月前
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
991 1
Spring boot 使用mybatis generator 自动生成代码插件
|
5月前
|
SQL Java 数据库
解决Java Spring Boot应用中MyBatis-Plus查询问题的策略。
保持技能更新是侦探的重要素质。定期回顾最佳实践和新技术。比如,定期查看MyBatis-Plus的更新和社区的最佳做法,这样才能不断提升查询效率和性能。
233 1
|
8月前
|
SQL XML Java
七、MyBatis自定义映射resultMap
七、MyBatis自定义映射resultMap
237 6
|
8月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
673 0
|
8月前
|
Java 数据库连接 数据库
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——MyBatis 介绍和配置
本文介绍了Spring Boot集成MyBatis的方法,重点讲解基于注解的方式。首先简述MyBatis作为持久层框架的特点,接着说明集成时的依赖导入,包括`mybatis-spring-boot-starter`和MySQL连接器。随后详细展示了`properties.yml`配置文件的内容,涵盖数据库连接、驼峰命名规范及Mapper文件路径等关键设置,帮助开发者快速上手Spring Boot与MyBatis的整合开发。
1096 0
|
XML Java 关系型数据库
【SpringBoot系列】SpringBoot集成Fast Mybatis
【SpringBoot系列】SpringBoot集成Fast Mybatis
|
XML SQL Java
ClickHouse【SpringBoot集成】clickhouse+mybatis-plus配置及使用问题说明(含建表语句、demo源码、测试说明)
ClickHouse【SpringBoot集成】clickhouse+mybatis-plus配置及使用问题说明(含建表语句、demo源码、测试说明)
2023 0
|
XML Java 关系型数据库
springboot 集成 mybatis-plus 代码生成器
本文介绍了如何在Spring Boot项目中集成MyBatis-Plus代码生成器,包括导入相关依赖坐标、配置快速代码生成器以及自定义代码生成器模板的步骤和代码示例,旨在提高开发效率,快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。
springboot 集成 mybatis-plus 代码生成器
|
XML Java 数据库连接
Spring Boot集成MyBatis
主要系统的讲解了 Spring Boot 集成 MyBatis 的过程,分为基于 xml 形式和基于注解的形式来讲解,通过实际配置手把手讲解了 Spring Boot 中 MyBatis 的使用方式,并针对注解方式,讲解了常见的问题已经解决方式,有很强的实战意义。在实际项目中,建议根据实际情况来确定使用哪种方式,一般 xml 和注解都在用。