废话少说

有参数可以设置

在org.springframework.boot.autoconfigure.data.web.SpringDataWebProperties 中

        /**
* Whether to expose and assume 1-based page number indexes. Defaults to "false",
* meaning a page number of 0 in the request equals the first page.
*/
private boolean oneIndexedParameters = false;

所以在application.yml中

spring:
data:
web:
pageable:
default-page-size: 20
size-parameter: rows
one-indexed-parameters: true

兼容Mybatis 分页查询

    /**
* laizhenwei
* @param OrderPage
* @return org.springframework.data.domain.Page<Order>
*/
@Override
public Page<Order> page(OrderPage OrderPage){
return this.readPage( OrderPage.getPageable(), OrderPage);
} /**
* laizhenwei
* @param pageable
* @param OrderPage
* @return org.springframework.data.domain.Page<Order>
*/
@Override
public Page<Order> readPage(Pageable pageable, @Nullable OrderPage OrderPage) {
return PageableExecutionUtils.getPage(getMapper().page(OrderPage), pageable, () -> getMapper().pageCount(OrderPage));
}

mybatis pageCount方法

      <!-- 条件分页查询,数据 -->
<select id="pageCount" resultType="long" parameterType="OrderPage">
SELECT COUNT(o.id) FROM `order` o LEFT JOIN `user` u ON o.`user_id` = u.`id`
<trim prefix="where" prefixOverrides="and|or">
<if test="status!=null">
AND o.status = #{status}
</if>
<if test="billStatus!=null">
AND o.bill_status=#{billStatus}
</if>
<if test="type!=null">
AND o.type =#{OrderPage.type}
</if> <if test="realName!=null">
AND u.real_name LIKE CONCAT('%',#{realName},'%')
</if>
<if test="origin!=null and origin!=''">
AND o.origin LIKE CONCAT('%',#{origin},'%')
</if>
<if test="destination!=null and destination!=''">
AND o.destination LIKE CONCAT('%',#{destination},'%')
</if>
</trim>
</select>

controller

     @RequestMapping(path = "/page",method = RequestMethod.POST,consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE,produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseVo<Page<Order>> page(@PageableDefault Pageable pageable, @ModelAttribute OrderPage orderPage){
ResponseVo<Page<Order>> responseVo = ResponseVo.success();
orderPage.setPageable(pageable);
return responseVo.setData(orderService.page(orderPage));
}

传入参数

结果

最新文章

  1. DVDstore 数据库基准测试
  2. Tarjan算法---强联通分量
  3. A.Kaw矩阵代数初步学习笔记 6. Gaussian Elimination
  4. [转]Hive/Beeline 使用笔记
  5. CXF(2.7.10) - RESTful Services
  6. FZU1608(线段树)
  7. URAL1113(数学)
  8. 如何用unity3d实现发送带附件的邮件
  9. C语言程序设计课程设计自查表格
  10. 【IOS 开发】Object-C 入门 Xcode 环境详解
  11. Data_r_and_w(csv,json,xlsx)
  12. idea使用错误及技巧总结合集(一)
  13. JAVAEE 第八周
  14. D - Brave Game
  15. webview中事件的用法
  16. 20170501xlVBA销售订单整理一行转多行
  17. vim实践学习
  18. network出错
  19. ZetCode PyQt4 tutorial widgets I
  20. 类的初始化__init__使用

热门文章

  1. vue要点记录(待更新)
  2. django的templatetags
  3. jquery 上下滚动显示隐藏
  4. JS如何判断浏览器类型和详细区分IE各版本浏览器
  5. mui 打开外网链接返回的正姿势!
  6. 《Unity3D 实战核心技术详解》书中关于矩阵的错误
  7. WPF 实现窗体拖动
  8. docker-mysql-cron-backup不能执行任务
  9. 通过自己定义MVC的Controller的Json转换器解决日期序列化格式问题
  10. php: 统计在线人数