MyBatisPlus-Lombok的使用及分页功能

简介: MyBatisPlus-Lombok的使用及分页功能

一、Lombok

从上一篇博客可看出,DAO接口类的编写变得简单,反过来看模型,编写还需要(私有属性、setter...getter...方法、toString方法、构造函数等内容),对于模型类有什么优化方法,可以用Lombok。


概念:Lombok,一个Java类库,提供了一组注解,简化POJO实体类开发。


使用步骤

1、添加Lombok依赖

<dependency> 
    <groupId>org.projectlombok</groupId> 
    <artifactId>lombok</artifactId> 
    <!--<version>1.18.12</version>--> 
</dependency>

注意:版本可以不写,因为SpringBoot已经管理了lombok版本。

2、安装Lombok插件

新版本的IDEA已经内置类该插件,如果删除setter和getter方法程序会报红,则需要安装插件。

6396a4d3ceb14c70a1556fc18917a526.png

如果找不到Lombok插件,可以访问如下网站


Versions: Lombok - IntelliJ IDEA & Android Studio Plugin | Marketplace (jetbrains.com)

https://plugins.jetbrains.com/plugin/6317-lombok/versions

根据字节IDEA的版本下载对应的Lombok版本,下载成功后,在IDEA中采用离线安装的方式进行安装

71395c0d748e43ef843f12c4fb7b148e.png

选择这个位置的选择进行离线安装,进入后选择自己下载的插件包,点击OK即可进行离线安装。

3、模型类上添加注解

Lombok常见的注解有:


● @Setter:为模型类的属性提供setter方法

● @Getter:为模型类的属性提供getter方法

● @ToString:为模型类的属性提供toString方法

● @EqualsAndHashCode:为模型类的属性提供equals和hashcode方法

● @Data:是一个组合注解,包含上面的注解的功能

● @NoArgsConstructor:提供一个无参构造函数

● @AllArgsConstruotor:提供一个包含所有参数的构造函数


Lombok的注解还有很多,上面标红的三个比较常用。

@Data 
@AllArgsConstructor 
@NoArgsConstructor 
public class User { 
    private Long id; 
    private String name; 
    private String password; 
    private Integer age; 
    private String tel; 
}

说明:Lombok只是简化模型的编写,之前的方法也能用,比如,只有name和password的构造方法,在里面添加即可。

二、分页功能

分页查询使用的方法:

IPage<T> selectPage (IPage<T> page, wrapper<T> querywrapper);

IPage:用来构建分页查询的条件


Wrapper:用来构建添加查询的条件,目前我们没有可直接传为Null


IPage:返回值,构建分页条件和方法的返回值都是IPage


IPage是一个接口,我们要实现类来构建,具体实现类,可进入到IPage类中按ctrl+h,会找到一个实现类为Page。

1、调用方法传入参数获取返回值

@SpringBootTest 
class Mybatisplus01QuickstartApplicationTests { 
    @Autowired 
    private UserDao userDao; 
    //分页查询 
    @Test 
    void testSelectPage(){ 
        //1 创建IPage分页对象,设置分页参数,1为当前页码,3为每页显示的记录数 
        IPage<User> page=new Page<>(2,3); 
        //2 执行分页查询 
        userDao.selectPage(page,null); 
        //3 获取分页结果 
        System.out.println("当前页码值:"+page.getCurrent()); 
        System.out.println("每页显示数:"+page.getSize()); 
        System.out.println("一共多少页:"+page.getPages()); 
        System.out.println("一共多少条数据:"+page.getTotal()); 
        System.out.println("数据:"+page.getRecords()); 
    } 
}

2、设置分页拦截器

@Configuration 
public class MybatisPlusConfig { 
    @Bean 
    public MybatisPlusInterceptor mybatisPlusInterceptor(){ 
        //1 创建MybatisPlusInterceptor拦截器对象 
        MybatisPlusInterceptor mpInterceptor=new MybatisPlusInterceptor(); 
        //2 添加分页拦截器 
        mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); 
        return mpInterceptor; 
    } 
}

说明:上面的内容在MP的官方文档中都有。

4f88aa881d0d49beb45cec18de0bc23e.png

3、运行测试程序

44f2432811d64218a866566575887844.png

如果想看MP执行的SQL语句,可以修改application.yml配置文件

# 开启mp的日志(输出到控制台)
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

打开日志后,就可以在控制台打印出对应的SQL语句,开启日志功能 性能就会受到影响,调试完后记得关闭

cbaa3d36557f4b9b860d65aa4c90a0f5.png

目录
相关文章
|
4月前
|
SQL XML Java
8、Mybatis-Plus 分页插件、自定义分页
这篇文章介绍了Mybatis-Plus的分页功能,包括如何配置分页插件、使用Mybatis-Plus提供的Page对象进行分页查询,以及如何在XML中自定义分页SQL。文章通过具体的代码示例和测试结果,展示了分页插件的使用和自定义分页的方法。
8、Mybatis-Plus 分页插件、自定义分页
|
24天前
|
SQL Java 数据库连接
深入 MyBatis-Plus 插件:解锁高级数据库功能
Mybatis-Plus 提供了丰富的插件机制,这些插件可以帮助开发者更方便地扩展 Mybatis 的功能,提升开发效率、优化性能和实现一些常用的功能。
127 26
深入 MyBatis-Plus 插件:解锁高级数据库功能
|
15天前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
24天前
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
2月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
58 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
2月前
|
Java 数据库连接 容器
Mybatis-Plus核心功能
Mybatis-Plus核心功能
|
3月前
|
SQL Java 数据库连接
解决mybatis-plus 拦截器不生效--分页插件不生效
本文介绍了在使用 Mybatis-Plus 进行分页查询时遇到的问题及解决方法。依赖包包括 `mybatis-plus-boot-starter`、`mybatis-plus-extension` 等,并给出了正确的分页配置和代码示例。当分页功能失效时,需将 Mybatis-Plus 版本改为 3.5.5 并正确配置拦截器。
750 6
解决mybatis-plus 拦截器不生效--分页插件不生效
|
3月前
|
SQL 存储 Java
原生JDBC简单实现Mybatis核心功能
本文介绍了在Vertx项目中使用Tdengine时,因缺乏异步JDBC驱动而采用同步驱动结合`vertx.executeBlocking`实现异步查询的方法。文中详细描述了自行开发的一个简易JDBC工具,该工具实现了SQL参数绑定与返回值映射至实体类的功能,简化了原生JDBC的繁琐操作。通过具体示例展示了其实现过程及代码细节,并与原生JDBC进行了对比,突显了其便捷性和实用性。
|
3月前
|
SQL XML Java
springboot整合mybatis-plus及mybatis-plus分页插件的使用
这篇文章介绍了如何在Spring Boot项目中整合MyBatis-Plus及其分页插件,包括依赖引入、配置文件编写、SQL表创建、Mapper层、Service层、Controller层的创建,以及分页插件的使用和数据展示HTML页面的编写。
springboot整合mybatis-plus及mybatis-plus分页插件的使用
|
4月前
|
供应链 前端开发 Java
服装库存管理系统 Mybatis+Layui+MVC+JSP【完整功能介绍+实现详情+源码】
该博客文章介绍了一个使用Mybatis、Layui、MVC和JSP技术栈开发的服装库存管理系统,包括注册登录、权限管理、用户和货号管理、库存管理等功能,并提供了源码下载链接。
服装库存管理系统 Mybatis+Layui+MVC+JSP【完整功能介绍+实现详情+源码】