mybatisplus中selectPage、selectMapsPage的QueryWrapper传参方法

利用mybatisplus中的selectPage、selectMapsPage可以实现自主添加条件分页查询,使用起来挺方便的。在使用selectPage、selectMapsPage,主要是不知道QueryWrapper如何使用,其实可以QueryWrapper有

很多的方法,比如常见的 = 、 < 、 >、  like、  != 、 in等,直接调用,然后填入需要处理的字段和值即可;

下边是一些常见的例子:

    taskQueryWrapper.and(wrapper -> wrapper.like("task_name", adminBaseBO.getSearchWord()).or().in("create_user", userIdList));
    taskQueryWrapper.like("task_name", adminBaseBO.getSearchWord());
    taskQueryWrapper.in("assistantId",userIdList);
    taskQueryWrapper.ge(!StringUtils.isEmpty(adminBaseBO.getStartTime()),"create_time",adminBaseBO.getStartTime())
            .le(!StringUtils.isEmpty(adminBaseBO.getEndTime()),"create_time",adminBaseBO.getEndTime());

下边是具体实例中使用展示:

 selectpage的使用

 

  //以thinkphp框架为例
  $test = intval(input('test'));//自定义的查询参数
  $name = input('name');//输入关键字的字段
  $value = input('searchValue');//当selectpage初始化, 并且value不为空时, 以此为key值
  
  if($value){
      $lists = Db::name('test')->where('id',$value)->field('id,name')->select();
      $arr['totalRow'] = count($lists);
      $arr['list'] = $lists;
      $data['values']['gridResult'] = $arr;
      return json($data);
  }


  $where = "id <> 0 ";
  if($name) $where.=" and name like '%$name%' ";
  $lists = Db::name('test')
      ->where($where)
      ->field('id,fname')->select();

  //定义返回数据
  //$arr['pageSize'] = 10;
  //$arr['pageNumber'] = 1;
  $arr['totalRow'] = count($lists);
  $arr['list'] = $fnames;
  $data['values']['gridResult'] = $arr;
  return json($data);

 selectMapsPage(page, qw)

 

@Test
public void tes7() {
    Page page = new Page(2,5);
    QueryWrapper<User> qw = new QueryWrapper<>();
    qw.isNotNull("name")
            .gt("age",18);
    Page page1 = userMapper.selectMapsPage(page, qw);
    page.getRecords().forEach(System.out::println);

}

 

 

#@lehao#

帮助到您请点赞关注收藏谢谢!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@lehao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值