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())); } }