zoukankan      html  css  js  c++  java
  • springBoot 使用 mybatis-plus 实现分页

    原文链接:https://blog.csdn.net/sinat_34338162/article/details/83543994

    一、项目结构

    二、pom.xml 依赖添加   (这里我是加在krystal_dao的pom.xml里面,单个项目,直接加在pom.xml,多模块根据自己项目情况添加)

    1.  
      <dependency>
    2.  
      <groupId>com.baomidou</groupId>
    3.  
      <artifactId>mybatis-plus</artifactId>
    4.  
      <version>3.0-beta</version>
    5.  
      </dependency>

    三、新建MyBatisPlusConfig.java (这里我用专门一个模块添加一些功能代码,里面依赖自己根据爆错的添加进去即可)

    1.  
      package com.dm.krystal.core.config;
    2.  
      import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
    3.  
      import org.mybatis.spring.annotation.MapperScan;
    4.  
      import org.springframework.context.annotation.Bean;
    5.  
      import org.springframework.context.annotation.Configuration;
    6.  
       
    7.  
      /**
    8.  
      * @author krystal
    9.  
      * @date 2018/10/30
    10.  
      */
    11.  
      @Configuration
    12.  
      /*@MapperScan("com.dm.krystal")*/ /* KrystalApiApplication在启动文件上写了,这里不加*/
    13.  
      public class MyBatisPlusConfig {
    14.  
      /**
    15.  
      * mybatis-plus分页插件
    16.  
      */
    17.  
      @Bean
    18.  
      public PaginationInterceptor paginationInterceptor() {
    19.  
      PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
    20.  
      return paginationInterceptor;
    21.  
      }
    22.  
      }

    四、具体代码实现

    1.controller  

    1.  
      @GetMapping("/findAllUser")
    2.  
      @ResponseBody
    3.  
      public List<User> findAllUser(){
    4.  
      User user = new User();
    5.  
      int page=2;//当前页
    6.  
      int pageSize=4;//页面接收数据大小
    7.  
      IPage<User> iPage = userService.selectPageExt(user, page, pageSize);
    8.  
      iPage.getRecords();
    9.  
      return iPage.getRecords();
    10.  
      }
    11.  
      }

    2.service

    3.serviceImp

    1.  
      public IPage<User> selectPageExt(User user, int page, int pageSize) throws RuntimeException {
    2.  
      try {
    3.  
      Page<User> p = new Page<>(page, pageSize);
    4.  
      p.setRecords(userDao.selectPageExt(p, user));
    5.  
      return p;
    6.  
      } catch (Exception e) {
    7.  
      throw new RuntimeException(e.getMessage());
    8.  
      }
    9.  
      }

    4.dao

    List<User> selectPageExt(Page<User> page, @Param("user") User user);

    5. .xml

    1.  
      <select id="selectPageExt" resultType="com.dm.krystal.entity.User">
    2.  
      select
    3.  
      <include refid="userColumns"/>
    4.  
      from sys_user
    5.  
      </select>

    五、sql 打印

     select * from sys_user LIMIT 4,4 

    结果

  • 相关阅读:
    深入解析Hibernate核心接口
    Hibernate基本原理
    深入hibernate的三种状态
    Hibernate commit() 和flush() 的区别
    Hibernate中的merge使用详情解说
    Record is locked by another user
    Vue路由router-link的使用
    Vue-router的基本使用
    Vue把父组件的方法传递给子组件调用(评论列表例子)
    Vue中子组件调用父组件的方法
  • 原文地址:https://www.cnblogs.com/fswhq/p/13634220.html
Copyright © 2011-2022 走看看