一、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方法程序会报红,则需要安装插件。

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

https://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的注解还有很多,上面标红的三个比较常用。

@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的官方文档中都有。

3、运行测试程序

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

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

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

到此这篇关于MyBatisPlus Lombok实现分页功能的方法详解的文章就介绍到这了,更多相关MyBatisPlus Lombok分页内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

MyBatisPlus+Lombok实现分页功能的方法详解的更多相关文章

  1. ios – UIScrollView的平滑自定义分页

    我在UIScrollView中有两个(可能更多)视图,并希望使用分页.当我尝试使用UIScrollView的默认分页选项时出现问题,因为视图具有不同的宽度,无法正确分页.所以我已经实现了一个有效的自定义分页代码.但是,当滚动较慢时,它不会按预期运行.(它回到没有动画的原始位置.)以下是我目前通过uiscrollviewdelegate进行自定义分页的方法我想要的是:是)我有的:解决方法尝试下面的自

  2. ios – 使用子视图控制器分页滚动视图

    使用分页实现水平滚动视图的最佳做法是什么,每页有一个视图控制器?由于iOS5具有用于视图控制器容器/包含的API,因此PageControl示例仍然是实现此功能的最佳方式吗?

  3. 可可触摸 – 启用预览和分页的UICollectionView

    在AppStore中显示搜索结果时,我正在尝试模仿苹果公司的功能.(参考:http://searchengineland.com/apple-app-search-shows-only-one-result-at-a-time-133818)它显示像卡中的详细应用程序信息,并且它被分页.当中间的一个活动卡片和滚动视图的分页行为仍然完整时,我被困在如何使上一张和第二张卡片显示.我已经尝试使用UICo

  4. ios – 启用了内容插入的UIScrollView分页工作很奇怪

    我创建了具有内容插入的UIScrollView.第一次,scrollView.contentOffset.x为-160.0但是奇怪的问题是当我点击scrollView(黄色区域)时,内容偏移x值将重置为0并显示为这样.我尝试过几次,但是点击滚动视图会将内容偏移量重置为0.我该如何防止这种情况?解决方法UIScrollView分页通过滚动与scrollView宽度相同的页面(在您的情况下为480个宽

  5. UIKit框架-高级控件Swift版本: 10.UIWebView方法/属性详解

    前面我们已经讲解完了UINavigationController的一些常用属性以及方法,现在让我们来看看一个关于网络的UIWebView.1.UIWebView的常用属性常用类型2.UIWebView的代理方法3.代码示范首先我们要使用storyBoard布局界面关联控件遵守代理协议自定义UIWebVIew实现代理方法在ViewDidLoad方法中实现PS:UIWebView继承与UIView,并

  6. swift+storyboard+UIImageview入门

    更新记录:该Storyboard教程由CarolineBegbie更新iOS8和Swift相关内容。Storyboard是最先在iOS5引入的一项振奋人心的特性,大幅缩减构建App用户界面所需的时间。要介绍Storyboard是什么,我打算从这张图讲起。这就是使用Storyboard的力量。Storyboard通过新的原型表项和静态表项特性,让处理表视图的工作更加轻松。Storyboard使自动布局更易用。接下来我们看一下Storyboard,点击项目浏览器中的Main.storyboard就可以在Int

  7. 使用RxSwift进行分页API调用

    如何实现这一点的任何建议将非常感谢…

  8. Angular2 PrimeNG分页模块学习

    这篇文章主要为大家详细介绍了Angular2 PrimeNG分页模块学习教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  9. PHP分页显示制作详细讲解

    搞定了最重要的如何获取数据的问题以后,剩下的就仅仅是传递参数,构造合适的sql语句然后使用php从数据库内获取数据并显示了。

  10. MybatisPlus中的多表条件排序查询

    这篇文章主要介绍了MybatisPlus中的多表条件排序查询,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部