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 );
        
    });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM