• MyBatisPlus-Lombok的使用及分页功能


    目录

    一、Lombok

    1、添加Lombok依赖

    2、安装Lombok插件

    3、模型类上添加注解

    二、分页功能

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

    2、设置分页拦截器

    3、运行测试程序


    一、Lombok

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

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

    使用步骤

    1、添加Lombok依赖

    1. <dependency>
    2. <groupId>org.projectlombokgroupId>
    3. <artifactId>lombokartifactId>
    4. dependency>

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

    2、安装Lombok插件

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

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

    Versions: Lombok - IntelliJ IDEA & Android Studio Plugin | Marketplace (jetbrains.com)icon-default.png?t=M666https://plugins.jetbrains.com/plugin/6317-lombok/versions根据字节IDEA的版本下载对应的Lombok版本,下载成功后,在IDEA中采用离线安装的方式进行安装

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

    3、模型类上添加注解

    Lombok常见的注解有:

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

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

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

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

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

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

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

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

    1. @Data
    2. @AllArgsConstructor
    3. @NoArgsConstructor
    4. public class User {
    5. private Long id;
    6. private String name;
    7. private String password;
    8. private Integer age;
    9. private String tel;
    10. }

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

    二、分页功能

    分页查询使用的方法:

    IPage selectPage (IPage page, wrapper querywrapper);

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

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

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

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

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

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

    2、设置分页拦截器

    1. @Configuration
    2. public class MybatisPlusConfig {
    3. @Bean
    4. public MybatisPlusInterceptor mybatisPlusInterceptor(){
    5. //1 创建MybatisPlusInterceptor拦截器对象
    6. MybatisPlusInterceptor mpInterceptor=new MybatisPlusInterceptor();
    7. //2 添加分页拦截器
    8. mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
    9. return mpInterceptor;
    10. }
    11. }

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

    3、运行测试程序

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

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

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

  • 相关阅读:
    操作系统【OS】Ch2 大题 PV题型分类
    建构小小虎丘园林,每个人都是设计师
    深度学习系列50:苹果m1芯片加速pytorch
    JVM——类的生命周期(加载阶段,连接阶段,初始化阶段)
    红黑树实现
    浅述青犀AI算法人体攀爬行为检测的应用场景及解决方案
    昨晚,我用python帮学妹P证件照自拍,然后发现。。。
    外汇天眼:美联储如预期再次加息75个基点 并誓言进一步加息以对抗通胀
    企业级Java EE架构设计精深实践
    VM虚拟机无法拖拽、粘贴、复制
  • 原文地址:https://blog.csdn.net/m0_61961937/article/details/125904275