美文网首页Mybatis
SpringBoot+Mybatis-Plus两种分页方法

SpringBoot+Mybatis-Plus两种分页方法

作者: 小鱼儿2020 | 来源:发表于2018-12-20 11:56 被阅读0次

首先配置mybatis-plus配置

package com.qfclo.login.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;

import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;

import org.mybatis.spring.annotation.MapperScan;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import java.util.Properties;

@Configuration

@MapperScan("com.qfclo.login.mapper")

public class MybatisPlusConfig {

/**

* 分页插件

*/

    @Bean

    public PaginationInterceptorpaginationInterceptor() {

return new PaginationInterceptor();

    }

/**

* 打印 sql

*/

    @Bean

    public PerformanceInterceptorperformanceInterceptor() {

PerformanceInterceptor performanceInterceptor =new PerformanceInterceptor();

        //格式化sql语句

        Properties properties =new Properties();

        properties.setProperty("format", "faalse");

        performanceInterceptor.setProperties(properties);

        return performanceInterceptor;

    }

}

第一种方式,mybatis-plus原生QueryWrapper方式分页,这种方式比较简单,可以不用修改Mapper,适合简单的增删改查。

    @RequestMapping(value = "/orgist1")//,method = RequestMethod.POST)
    public Map<String,Object> orglist1()
    {

        Map<String,Object> map = new HashMap<>();

        QueryWrapper<OauthOrganization> queryWrapper =  new QueryWrapper<>();
        queryWrapper.orderByDesc("id");

        Page<OauthOrganization> page = new Page<>(1,5);  // 查询第1页,每页返回5条
        IPage<OauthOrganization> iPage = oauthOrganizationMapper.selectPage(page,queryWrapper);
        System.out.println(iPage.getRecords().size());
        System.out.println(JSON.toJSONString(iPage));
        return map;
    }

第二种方式,使用mapper文件的select注解,优点是可以方便的建立查询语句,可以联合多表查询。
Mapper文件

    @Select("SELECT * FROM oauth_organization WHERE id < #{m.id} ORDER BY `id` DESC")
    List<OauthOrganization> selectpage(Map<String,Object> m, Page<OauthOrganization> page);

Controller文件

    @RequestMapping(value = "/orgist4")//,method = RequestMethod.POST)
    public Map<String,Object> orglist4()
    {

        Map<String,Object> map = new HashMap<>();
        Map<String,Object> m = new HashMap<>();
        m.put("id",5);
        Page<OauthOrganization> page = new Page<>(1,5);
        page.setRecords(oauthOrganizationMapper.selectpage(m,page));
        System.out.println(page.getRecords().size());
        System.out.println(JSON.toJSONString(page));
        return map;
    }

相关文章

  • SpringBoot+Mybatis-Plus两种分页方法

    首先配置mybatis-plus配置 第一种方式,mybatis-plus原生QueryWrapper方式分页,这...

  • elementUI实现分页

    分页的两种方式。前端分页,后端分页。两种方式各有个的优缺点吧。 前端分页:后台只需将数据返回,不需要做过多处理,前...

  • 第83节:Java中的学生管理系统分页功能

    第83节:Java中的学生管理系统分页功能 分页功能一般可以做成两种,一种是物理分页,另一种是逻辑分页。这两种功能...

  • Spring Boot简明教程--Jpa分页

    分页参数 现在的分页形式有两种: PC端分页,参数为:页码 page和每页的条数 size 小程序、app端分页,...

  • 分页的两种实现方法

    在网页制作中,内容的显示通常有两种方式,一种是分页的。 这种显示方式一般用在PC上的新闻,或者信息的显示。 还有一...

  • Mybatis分页插件PageHelper

    在实际的项目开发中,常常需要使用到分页,分页方式分为两种:前端分页和后端分页。前端分页:一次ajax请求数据的所有...

  • laravel 接口如何做到分页

    1. laravel 框架封装的方法 2. 手动分页 建议: 两种方法都可以,我建议使用第一种 因为写的比较快,代码少!

  • MYSQL分页limit速度太慢优化方法

    MySQL 百万级分页优化(Mysql千万级快速分页)(转) MYSQL分页limit速度太慢优化方法 MYSQL...

  • Flask ----- 前端页面分页器对象

    Flask和Django都有的分页器类 Pageinations 分页器对象属性和方法 分页流程示例 借书管理系统...

  • Mybatis数据分页

    一般数据分页的实现有两种:一种在前端分页,一种在后端分页。前端分页有些坑,数据量很大的时候,每次都要查询所有数据,...

网友评论

    本文标题:SpringBoot+Mybatis-Plus两种分页方法

    本文链接:https://www.haomeiwen.com/subject/yzqykqtx.html