Mybatis-plus 3.0.6-Boostrap-table1.12.2的Server端分页


一、各版本说明

Bootstrap用3.3.0,这个版本相对比较旧

Mybatis-plus用3.0.6,这个目前是最新的版本,2.x的版本实现分页和这个不一样

BootStarp-Table用1.12.2


二、bootstrap-table 的js配置(按照红色框依次说明

1. url为空,为避免bootstarpTable初始化的时候就访问Controller,因为这个时候可能queryParams中的参数对应的select框没有初完成。

2. sidePagination写“server”,会从服务器端进行分页,pageNumber和pageSize为默认时要显示页数和每页显示多少条目。


3. queryParams为每次查询传递的参数,

4. onPageChange为table的footer变化时(包括每页显示条目数量变化和页数变化)会触发的方法,在这个方法里面我调用了updateTableQueryOptions方法,这个方法更新了queryParams、pageNumber、pageSize、url。每更新一次url为访问对应的controller,pageNumber和pageSize在这个地方之前 用的是offset和limit,用这个两个会有问题。

5. 对表的查询直接调用updateTableQueryOptions(10,1);就可以进行查询了。

Mybatis-plus 3.0.6-Boostrap-table1.12.2的Server端分页_第1张图片
图1.boostrap-table 的js配置

三、后台代码(在Mybatis-plus3.0.6正常运行的情况下只介绍分页相关的代码)

1. Page和IPage分别为 下面两个包:

import com.baomidou.mybatisplus.core.metadata.IPage;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

2. Page和IPage对应的属性见图6,在查询的时候传入的page中有对应的size(每页显示条目数)和current(当前显示第几页),mapper查询出的结果中会先查询条目总数放到total属性中,查询出来的记录放到records属性中,见图6。

3. controller调用Service再调用mapper,见图3,4,5。


4. 由于bootstrapTable的分页属性和IPage对应的属性不一样需要进行转换一下,和bootstrapTable对应的属性见图7,转换方法见图8,转换后属性对应pageNumber、pageSize、total、rows为bootstrapTable对应的属性就可以显示对应的分页了。
Mybatis-plus 3.0.6-Boostrap-table1.12.2的Server端分页_第2张图片
图2. 对应Controller


Mybatis-plus 3.0.6-Boostrap-table1.12.2的Server端分页_第3张图片
图3. 对应Service


Mybatis-plus 3.0.6-Boostrap-table1.12.2的Server端分页_第4张图片
图4. 对应mapper

1. 和正常的xml查询一样不需要修改

Mybatis-plus 3.0.6-Boostrap-table1.12.2的Server端分页_第5张图片
图5. mapper对应的xml


Mybatis-plus 3.0.6-Boostrap-table1.12.2的Server端分页_第6张图片
图6. page和IPage对应的属性


Mybatis-plus 3.0.6-Boostrap-table1.12.2的Server端分页_第7张图片
图7. 和boostrapTable对应的页面属性


Mybatis-plus 3.0.6-Boostrap-table1.12.2的Server端分页_第8张图片
图8. 对应的属性转换


Mybatis-plus 3.0.6-Boostrap-table1.12.2的Server端分页_第9张图片
图9. 转换后的属性

四. 问题

1. 在切换分页的时候,会访问Controller两次。

第一次是转到后台的是pageNumber=1,pageSize=默认页面条数,这一次是无用 的,

第二次会由onPageChange再访问一次Controller这一次传过来的参数是正常的参数

不知道是哪里的参数有问题会多一次无效的查询,有没有可以指教的,谢谢了!!!

你可能感兴趣的:(Mybatis-plus 3.0.6-Boostrap-table1.12.2的Server端分页)