首页>>后端>>SpringBoot->MyBatisPlus实现分页和查询操作就这么简单

MyBatisPlus实现分页和查询操作就这么简单

时间:2023-11-30 本站 点击:0

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

定义查询字段

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

package com.didiplus.modules.sys.domain.entity.dto;import lombok.Data;/** * Author: didiplus * Email: 972479352@qq.com * CreateTime: 2022/5/7 * Desc:  检索字段 */@Datapublic class DictTypeRquest {    /**     * 字段名称     */    private String typeName;    /**     * 字段编码     */    private String typeCode;    /**     * 是否启用     */    private String enable;}

修改分页函数接口

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

public interface ISysDictTypeService extends IService<SysDictTypeEntity> {    /**    * 分页查询    * @param pageDomain     * @param dictTypeRquest    * @return    */    IPage<SysDictTypeEntity> page(PageDomain pageDomain, DictTypeRquest dictTypeRquest);}

修改分页实现方法

@Servicepublic class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDictTypeEntity> implements ISysDictTypeService {        @Resource        SysDictTypeMapper sysDictTypeMapper;        @Override        public IPage<SysDictTypeEntity> page(PageDomain pageDomain, DictTypeRquest dictTypeRquest) {            IPage<SysDictTypeEntity> page = new Page<>(pageDomain.getPage(),pageDomain.getLimit());             LambdaQueryWrapper<SysDictTypeEntity> 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啦。

修改控制层

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

    /**     * 分页查询     * @param pageDomain 分页对象     * @param dictTypeRquest      * @return IPage     */    @ApiOperation(value = "分页查询", notes = "分页查询")    @GetMapping("/page")    public IPage<SysDictTypeEntity> getSysDictTypePage(PageDomain pageDomain, DictTypeRquest dictTypeRquest) {        return sysDictTypeService.page(pageDomain,dictTypeRquest);    }

效果体验

后台日志输出效果:

更多经常的内容请关注微信公众号"攻城狮成长日记"

原文:https://juejin.cn/post/7095617129105326116


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/SpringBoot/4418.html