Mybatis-Plus如何配置分页对象

本文主要介绍了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<IPage<SysUser>> getSysUserPage(Page<SysUser> page, SysUser sysUser) {
        IPage<SysUser> 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<SysUser>{


    /**
     * 分页查询管理员列表
     * @param page
     * @param sysUser
     * @return
     */
    IPage<SysUser> findSysUserByPage(Page<SysUser> 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<SysUserMapper, SysUser> implements SysUserService{

    @Autowired
    private SysUserMapper sysUserMapper;

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

    }
}

到此这篇关于Mybatis-Plus如何配置分页对象的文章就介绍到这了,更多相关Mybatis-Plus 配置分页对象内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!

本文标题为:Mybatis-Plus如何配置分页对象

基础教程推荐