美文网首页
Mybatis-plus 3.0.6-Boostrap-tabl

Mybatis-plus 3.0.6-Boostrap-tabl

作者: wilesan | 来源:发表于2018-12-11 16:16 被阅读0次


    一、各版本说明

    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);就可以进行查询了。

    图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<Object>对应的属性见图6,在查询的时候传入的page中有对应的size(每页显示条目数)和current(当前显示第几页),mapper查询出的结果中会先查询条目总数放到total属性中,查询出来的记录放到records属性中,见图6。

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


    4. 由于bootstrapTable的分页属性和IPage<Object>对应的属性不一样需要进行转换一下,和bootstrapTable对应的属性见图7,转换方法见图8,转换后属性对应pageNumber、pageSize、total、rows为bootstrapTable对应的属性就可以显示对应的分页了。

    图2. 对应Controller
    图3. 对应Service
    图4. 对应mapper

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

    图5. mapper对应的xml
    图6. page和IPage<object>对应的属性
    图7. 和boostrapTable对应的页面属性
    图8. 对应的属性转换
    图9. 转换后的属性

    四. 问题

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

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

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

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

    相关文章

      网友评论

          本文标题:Mybatis-plus 3.0.6-Boostrap-tabl

          本文链接:https://www.haomeiwen.com/subject/upashqtx.html