Mybatis-Plus如何配置分页对象

配置类

package com.xiaoge.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Author: ZhangXiao
 * @DateTime: 2022/4/19 14:20
 * @Description:
 */
@Configuration  // 放在ioc容器中
@MapperScan(basePackages = {"com.xiaoge.mapper"}) // 扫描对应的mapper接口文件包
public class MybatisPlusConfig {

      // 必须要加Bean
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }

}

SysUserController

package com.xiaoge.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xiaoge.anno.Log;
import com.xiaoge.domain.SysUser;
import com.xiaoge.service.SysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author: ZhangXiao
 * @DateTime: 2022/4/19 19:19
 * @Description:
 */
@Api(tags = "后台用户接口")
@RestController
@RequestMapping("sys/user")
public class SysUserController {

    @Autowired
    private SysUserService sysUserService;

    /**
     * 分页查询管理员列表
     * @param page
     * @return
     */
    @ApiOperation("分页查询管理员列表")
    @GetMapping("page")
    @Log(operation = "分页查询管理员列表")
    public ResponseEntity> getSysUserPage(Page page, SysUser sysUser) {
        IPage sysUserIPage = sysUserService.findSysUserByPage(page, sysUser);
        return ResponseEntity.ok(sysUserIPage);
    }

}

SysUserService

package com.xiaoge.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaoge.domain.SysUser;

/**
* @Author:  ZhangXiao
* @DateTime:  2022/4/19 19:13
* @Description:
*/

public interface SysUserService extends IService{


    /**
     * 分页查询管理员列表
     * @param page
     * @param sysUser
     * @return
     */
    IPage findSysUserByPage(Page page, SysUser sysUser);
}

SysUserServiceImpl

package com.xiaoge.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiaoge.domain.SysUser;
import com.xiaoge.mapper.SysUserMapper;
import com.xiaoge.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;

/**
 * @Author:  ZhangXiao
 * @DateTime:  2022/4/19 19:13
 * @Description:
 */

@Service
public class SysUserServiceImpl extends ServiceImpl implements SysUserService{

    @Autowired
    private SysUserMapper sysUserMapper;

    /**
     * 分页查询管理员列表
     *
     * @param page
     * @param sysUser
     * @return
     */
    @Override
    public IPage findSysUserByPage(Page page, SysUser sysUser) {
        page.addOrder(OrderItem.desc("create_time"));
        return sysUserMapper.selectPage(page, new LambdaQueryWrapper()
                .like(!StringUtils.isEmpty(sysUser.getUsername()), SysUser::getUsername, sysUser.getUsername())
                .eq(!ObjectUtils.isEmpty(sysUser.getStatus()), SysUser::getStatus, sysUser.getStatus()));

    }
}

到此这篇关于Mybatis-Plus如何配置分页对象的文章就介绍到这了,更多相关Mybatis-Plus 配置分页对象内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Mybatis-Plus如何配置分页对象)