MyBatis-Plus进行查询分页


MyBatis-Plus进行查询分页

MP内置了分页查询插件,可以直接使用,非常方便。

  • MP把分页之后查询出来的一页,分装为一个对象 Page
  • MP 的mapper层已经内置了分页查询方法selectPage(Page,wrapper);

1 sevice层定义分页查询

public interface SysMenuService extends IService {

    IPage findByPage(Page page);
}
@Service
public class SysMenuServiceImpl extends ServiceImpl
implements SysMenuService{

    @Autowired
    SysMenuMapper sysMenuMapper;

    @Override
    public IPage findByPage(Page page) {
        return sysMenuMapper.selectPage(page,null);         //    MP会根据Page对象,自动取Page对象里面的值,然后进行分页查询,查询结果封装为IPage对象,进行返回
    }
}

2 controller层定义传入的每页大小和当前页页码

页码从1开始

@RestController
public class mpController {

    @Autowired
    SysMenuService sysMenuService;

    @GetMapping("/findByPage")
    public IPage findByPage(int pageCurrent, int pageSize){
        Page page = new Page<>(pageCurrent, pageSize);      // 创建一个Page对象,用来封装要显示的页面VO,

        return sysMenuService.findByPage(page);       // 返回VO,这个VO是一个Ipage对象,前端会自动转化为JSON字符串
    }
}

相关