详解MyBatisPlus如何实现分页和查询操作(mybatisplus关联查询分页)

网友投稿 527 2022-07-31


目录1.定义查询字段2.修改分页函数接口3.修改分页实现方法4.修改控制层5.效果体验

《SpringBoot整合MybatisPlus实现增删改查功能》在这篇文章中,我们详细介绍了分页的具体实现方法。但是,在日常的开发中还需要搜索功能的。下面让我们一起动起手来,实现一下吧。

1.定义查询字段

定义一个类,存放需要用到的查询字段。如下:

package com.didiplus.modules.sys.domain.entity.dto;

import lombok.Data;

/**

* Author: didiplus

* Email: 972479352@qq.com

* CreateTime: 2022/5/7

* Desc: 检索字段

*/

@Data

public class DictTypeRquest {

/**

* 字段名称

*/

private String typeName;

/**

* 字段编码

*/

private String typeCode;

/**

* 是否启用

*/

private String enable;

}

2.修改分页函数接口

在分页函数接口中添加查询字段参数,如下:

public interface ISysDictTypeService extends IService {

/**

* 分页查询

* @param pageDomain

* @param dictTypeRquest

* @return

*/

IPage page(PageDomain pageDomain, DictTypeRquest dictTypeRquest);

}

3.修改分页实现方法

@Service

public class SysDictTypeServiceImpl extends ServiceImpl implements ISysDictTypeService {

@Resource

SysDictTypeMapper sysDictTypeMapper;

@Override

public IPage page(PageDomain pageDomain, DictTypeRquest dictTypeRquest) {

IPage page = new Page<>(pageDomain.getPage(),pageDomain.getLimit());

LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();

lambdaQueryWrapper.like(StrUtil.isNotEmpty(dictTypeRquest.getTypeName()),SysDictTypeEntity::getTypeName,dictTypeRquest.getTypeName())

.like(StrUtil.isNotEmpty(dictTypeRquest.getTypeCode()),SysDictTypeEntity::getTypeCode,dictTypeRquest.getTypeCode())

.eq(StrUtil.isNotEmpty(dictTypeRquest.getEnable()),SysDictTypeEntity::getEnable,dictTypeRquest.getEnable());

return sysDictTypeMapper.selectPage(page,lambdaQueryWrapper);

}

}

StrUtil.isNotEmpty是先判断查询参数是否不为空,不为空才会把查询条件拼接在一起,这样就实现了动态SQL啦。

4.修改控制层

在控制层添加查询参数,代码如下:

/**

* 分页查询

* @param pageDomain 分页对象

* @param dictTypeRquest

* @return IPage

*/

@ApiOperation(value = "分页查询", notes = "分页查询")

@GetMapping("/page")

public IPage getSysDictTypePage(PageDomain pageDomain, DictTypeRquest dictTypeRquest) {

return sysDictTypeService.page(pageDomain,dictTypeRquest);

}

5.效果体验

后台日志输出效果:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java中BM(Boyer
下一篇:java实现简易连连看小游戏(简单的连连看小游戏)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~