首页 > 其他分享 >Mybatis-Plus实现分页

Mybatis-Plus实现分页

时间:2022-10-11 13:58:42浏览次数:54  
标签:分页 pageSize int page book Plus Mybatis currentPage public

1、导入maven依赖

springboot版本 2.7.3

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>

yml配置

mybatis-plus:
  global-config:
    db-config:
      table-prefix: tbl_
      id-type: auto
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

2、配置类

import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MPConfig {

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return interceptor;
    }
}

3、dao层

@Mapper
public interface BookDao extends BaseMapper<Book> {

}

4、service层

 public interface BookService extends IService<Book> {
   IPage<Book> getPage(int currentPage, int pageSize, Book book);
}

5、serviceImpl层

@Service
public class BookServiceImpl extends ServiceImpl<BookDao, Book> implements BookService {

    @Autowired
    private BookDao bookDao;

    @Override
    public IPage<Book> getPage(int currentPage, int pageSize, Book book) {
        QueryWrapper<Book> qw = new QueryWrapper<>();
        qw.like(Strings.isNotEmpty(book.getType()),"type",book.getType());
        qw.like(Strings.isNotEmpty(book.getName()),"name",book.getName());
        qw.like(Strings.isNotEmpty(book.getDescription()),"description",book.getDescription());
        IPage<Book> page = new Page<>(currentPage,pageSize);
        bookDao.selectPage(page,qw);
        return page;
    }

}

6、Controller层

@RestController
@RequestMapping("/books")
public class BookController {

    @Autowired
    private BookService bookService;

    @GetMapping("{currentPage}/{pageSize}")
    public R getPage(@PathVariable int currentPage, @PathVariable int pageSize, Book book) {
        IPage<Book> page = bookService.getPage(currentPage, pageSize,book);
        if (currentPage > page.getPages()) {
            page = bookService.getPage((int) page.getPages(), pageSize,book);
        }
        return new R(true, page);
    }
}

时间:2022-10-11 午休

标签:分页,pageSize,int,page,book,Plus,Mybatis,currentPage,public
From: https://www.cnblogs.com/huxiaoan1/p/16778925.html

相关文章

  • Idea-->Maven-->Mybatis-->pom.xml配置
    <!--依赖列表--><dependencies><!--MyBatis依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</......
  • 详解 MyBatis 事务管理,彻底颠覆你对事务的理解!
    来源:https://my.oschina.net/zudajun/blog/666764前言说到数据库事务,人们脑海里自然不自然的就会浮现出事务的四大特性、四大隔离级别、七大传播特性。四大还好说,问题是......
  • MyBatis
    Mybatis作用是一款优秀的持久层框架支持定制化的sql存储过程以及高级映射之前我们学过的所有的JDBC代码和手动设置参数获取结果集都不用写了使用简单的XML配......
  • oracle rownum分页
    目录oraclerownum分页1、取前100条数据语法使用2、取50条到100条的数据语法使用oraclerownum分页1、取前100条数据语法select*fromstuwhererownum<&pageSize;......
  • 使用CDN方式引用Vue3和ElementPlus
    使用CDN方式引用Vue3和ElementPlus​​引用Vue​​​​代码​​​​注意事项​​​​Elementplus​​​​代码​​​​注意事项​​升级了之前做的vue2+ElementUI的项目,......
  • springboot~对mybatis的start包进行单元测试
    一个start包,它不需要有springboot启动类,它只提供一切公用的功能,被其它包依赖就行了,通过META-INF/spring.factories或者META-INF/spring/org.springframework.boot.autoconf......
  • Spring-04:持久化数据,了解SpringDataJPA和Mybatis
    1Javaweb阶段的方式在之前的Javaweb项目中,我们持久化数据的方式还是直接使用JDBC参考:Javaweb总结-目前开发Javaweb的套路梳理https://www.cnblogs.com/fancy2022/p/16......
  • drf分页、排序、过滤
    drf分页、排序、过滤自定义频率类#首先我们导入时间模块用来计时importtime#创建一个类继承BaseThrottleclassFrequency(BaseThrottle):#创建一个字典用来......
  • 自定义频率类与分页、排序、过滤功能
    自定义频率类fromrest_framework.throttlingimportBaseThrottleimporttimeclassMyThrottling(BaseThrottle):#存放用户访问记录:{IP1:[时间2,时间1]}......
  • drf之频率类,分页,排序,过滤
    一、自定义频率类#我们之前写的频率类其实是可以继承两个的SimpleRateThrottle,BaseThrottle#只不过现继承BaseThrottle需要重写BaseThrottle方法我们现在按照继......