MyBatis与Spring整合中PageInfo相关依赖及配置和说明

需要maven的依赖

<!-- pagehelper :分页插件 -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.2</version>
</dependency>
<!-- pagehelper的依赖包:jsqlparser -->
<dependency>
    <groupId>com.github.jsqlparser</groupId>
    <artifactId>jsqlparser</artifactId>
    <version>0.9.5</version>
</dependency>

applicationCentext.xml配置:

<!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <!-- 自动扫描mapping.xml文件 -->
    <property name="mapperLocations" value="classpath:site/gaoyisheng/mapping/*.xml"></property>

    <!-- 分页插件 pagehelper -->
    <property name="plugins">
        <array>
            <bean class="com.github.pagehelper.PageInterceptor">
                <property name="properties">
                    <!--使用下面的方式配置参数,一行配置一个 -->
                    <value>

                dialect=mysql     //我用的是mysql          

                reasonable=true

            </value>
                </property>
            </bean>
        </array>
    </property>
</bean>

 

使用说明

当前页 
private int pageNum;
每页的数量  
private int pageSize;  
当前页的数量  
private int size;  
//由于startRow和endRow不常用,这里说个具体的用法  
//可以在页面中"显示startRow到endRow 共size条数据"  

当前页面第一个元素在数据库中的行号  
private int startRow;  
当前页面最后一个元素在数据库中的行号  
private int endRow;  
总记录数  
private long total;  
总页数  
private int pages;  
结果集  
private List<T> list;  

第一页  
private int firstPage;  
前一页  
private int prePage;  

是否为第一页  
private boolean isFirstPage = false;  
是否为最后一页  
private boolean isLastPage = false;  
是否有前一页  
private boolean hasPreviousPage = false;  
是否有下一页  
private boolean hasNextPage = false;  
导航页码数  
private int navigatePages;  
所有导航页号  
private int[] navigatepageNums;  
后台分页

服务器端
service
public PageInfo<T>  methodName(int pageNum, int pageSize) {
//1 设置分页
        PageHelper.startPage(pageNum, pageSize);
        //2 查询
        List<T> list =TMapper.mapperMethod();
        //3 返回
        return new PageInfo<>(list);
    }
Web
public @ResponseBody DataGridResultInfo methodName (Vovo){
        //1 查询
        PageInfo<T> pageInfo = service. methodName (vo.getPage(), vo.getRows());
        //2 封装
        return new DataGridBean(pageInfo.getTotal() , pageInfo.getList() );
    }

浏览器端
Datagrid

$(function(){
        //绘制datagrid
        //1 准备数据
        // 1.1 列列表
        var columnArr = [[
                          {field:'字段名1',title:'标题1',width:80}, 
                          {field:'字段名2',title:'标题2',width:80,
                              formatter:function(value,rows,index){
                                //filed匹配值(当前的值),当前行,当前行号
                                  return value.info;
                              }
                          }
                          ]];
        // 1.2 工具条
        var toolbarArr = [
                            {
                                iconCls: 'icon-add',//按钮图标
                                text : '添加用户',
                                handler: showadduser//方法名
                            }
                          ];
        // 1.3 请求路径
        var url = "……";
        
        //2 准备参数
        var options = {
            "columns":columnArr,
            "toolbar":toolbarArr,
            "striped":true,                //隔行换色
            "idField":"id",                //标识字段
            "url":url,                    //请求路径
            "pagination":true,
            "rownumbers":true,
            "pageSize":2,
            "pageList":[2,4,6,8]
        };
        
        //3 绘制
        $("#id值").datagrid( options );
        
    });

 

posted @ 2019-09-27 14:36  清茶与酒  阅读(1786)  评论(0编辑  收藏  举报