MyBatis-plus的分页功能以及条件查询

一、分页功能

  • 分页操作需要设定分页对象IPage
@Test
void testGetPage(){
    IPage page = new Page(2,5);
    employeeMapper.selectPage(page,null);
    System.out.println("数据总量"+page.getTotal());
    System.out.println("总页数"+page.getPages());
    System.out.println("当前页码值"+page.getCurrent());
    System.out.println("分页的条数"+page.getSize());
    System.out.println("当前页的数据"+page.getRecords());
}

Mapper.selectPage查询到的值保存在IPage中。

  • 分页操作是在MyBatisPlus的常规操作基础上增强得到的,内部是动态的拼写SQL语句,因此需要增强对应的功能,使用MyBatisPlus拦截器实现
@Configuration  //配置类
public class MpConfig {
    @Bean
    public MybatisPlusInterceptor mpInterceptor(){
        //1. 定义Mp拦截器
        MybatisPlusInterceptor mpInterceptor = new MybatisPlusInterceptor();
        //2. 添加具体的拦截器
        mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mpInterceptor;
    }
}
  • 借助MyBatisPlus日志查阅执行的SQL语句
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

二、条件查询

使用QueryWrapper对象封装查询条件,推荐使用LambdaQueryWrapper对象,所有查询操作封装成方法调用

@Test
    void testQueryWrapper(){
        QueryWrapper wrapper = new QueryWrapper();
        wrapper.like("email","sanguo");
        System.out.println(employeeMapper.selectList(wrapper));
    }

    @Test
    void testLambdaQuery(){
        String name = "zhang";
        LambdaQueryWrapper<Employee> wrapper = new LambdaQueryWrapper();
        //wrapper.like(Employee::getLastName,name);
        //like第一个条件为真就拼接条件,为假就不拼接。第二个参数是表字段,使用类::get方法,可以防止书写错误
        wrapper.like(name!=null,Employee::getLastName,name);
        System.out.println(employeeMapper.selectList(wrapper));
    }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值