一、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插件,可以访问如下网站
Versions: Lombok - IntelliJ IDEA & Android Studio Plugin | Marketplace (jetbrains.com)
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语句,开启日志功能 性能就会受到影响,调试完后记得关闭