zoukankan      html  css  js  c++  java
  • SpringBoot+Mybatis-Plus两种分页方法

    用到的依赖:

    <dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>${mybatisplus.version}</version>
    <exclusions>
    <exclusion>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    </exclusion>
    </exclusions>
    </dependency>

    首先配置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;
        }



    作者:小鱼儿2020
    链接:https://www.jianshu.com/p/0a21569f1e06
    来源:简书

  • 相关阅读:
    php抽象与接口的区别[转载]
    PHP基础知识(一)
    HTML/CSS方法实现下拉菜单
    SQL语句详细汇总[转]
    (5) 控制器和状态
    (4)模型和数据
    (3)理解代理 proxy
    (2)基于原型的类继承
    (1) basic javascript class
    观察者模式
  • 原文地址:https://www.cnblogs.com/tuituji27/p/11303841.html
Copyright © 2011-2022 走看看