首頁 > 軟體

Mybatis-Plus如何設定分頁物件

2022-08-11 14:02:56

設定類

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 設定分頁物件內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com