分頁插件pageHelpler的使用(ssm框架中)服務器端分頁

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

1. maven依賴:

	<!-- 分頁插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>3.4.2-fix</version></dependency>

2. ?在sqlMapConfig.xml中配置:

	<!-- 配置分頁插件 --><plugins><plugin interceptor="com.github.pagehelper.PageHelper"><!-- 設置數據庫類型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六種數據庫-->        <property name="dialect" value="mysql"/><!-- 該參數默認為false -->  <!-- 設置為true時,會將RowBounds第一個參數offset當成pageNum頁碼使用 -->  <!-- 和startPage中的pageNum效果一樣-->  <property name="offsetAsPageNum" value="true"/>  <!-- 該參數默認為false --> <!-- 設置為true時,使用RowBounds分頁會進行count查詢 -->  <property name="rowBoundsWithCount" value="true"/>  <!-- 3.3.0版本可用 - 分頁參數合理化,默認false禁用 -->  <!-- 啟用合理化時,如果pageNum<1會查詢第一頁,如果pageNum>pages會查詢最后一頁 -->  <!-- 禁用合理化時,如果pageNum<1或pageNum>pages會返回空數據 -->  <property name="reasonable" value="true"/>  <!-- 支持通過Mapper接口參數來傳遞分頁參數 -->  <property name="supportMethodsArguments" value="true"/>  <!-- always總是返回PageInfo類型,check檢查返回類型是否為PageInfo,none返回Page -->  <property name="returnPageInfo" value="check"/>  </plugin></plugins>

3. 查詢sql寫法不變,只是不用作分頁 :

	<!-- 查詢管理員信息 --><select id="selectAuthAdmin" parameterType="AuthAdmin" resultMap="authAdminResultMap">SELECT ID, ACCOUNT,PASSWORD,SALT,ROLE_IDS,ROLE_NAME,RES_IDS,LOCKEDFROM TS_AUTH_ADMIN 		</select>

4. ? serviceImpl 中接收從mapper.xml中查到的結果,運用pagehelper分頁 。

pagehelper會根據配置確定使用的數據庫,自動攔截sql拼上對應分頁部分語句再執行sql。

可從控制臺查看輸入的sql 就是帶了分頁語句的。

?

參數 ?pageNum - 第N頁, pageSize - 每頁M條數

如:PageHelper.startPage(1, 10); ? 就是第1條到第10條,數據庫數據不足10條,就有多少條返回多少條。

	/*** 分頁獲取用戶信息* @param pageNum* @param pageSize* @return* @throws Exception*/@Overridepublic PageInfo<AuthAdmin> selectAuthAdminByPage(Integer pageNum, Integer pageSize ,AuthAdmin adm)throws Exception {PageHelper.startPage(pageNum, pageSize);// 所有用戶信息List<AuthAdmin> authAdmins = _authAdminMapper.selectAuthAdmin(adm);if(authAdmins == null){return null;}PageInfo<AuthAdmin> pageInfo = new PageInfo<AuthAdmin>(authAdmins);return pageInfo;}

5.controller中拿到已經分好頁的數據 :(在哪得最終數據不重要,controller、service中都可以,只是封裝成pageInfo對象后,就從這個對象身上得。)

	// 加載用戶列表@ResponseBody@RequestMapping("/adminList")public Object adminList(Model model, int draw, int start, int length ,AuthAdmin adm)throws Exception{_logger.info("++++  展示用戶列表  ++++");PageInfo<AuthAdmin> pageInfo = _authAdminService.selectAuthAdminByPage((start/length)+1 ,length ,adm);Map<String, Object> map = new HashMap<String, Object>();List<Object> data = new ArrayList<Object>();for(AuthAdmin admin : pageInfo.getList()){Map<String, Object> obj = new HashMap<String, Object>();obj.put("id", admin.getId());obj.put("account", admin.getAccount());obj.put("locked", admin.getLocked());obj.put("roleIds", admin.getRoleIds());obj.put("roleName", admin.getRoleName());obj.put("resIds", admin.getResIds());data.add(obj);}map.put("draw", draw);map.put("recordsTotal", pageInfo.getTotal());map.put("recordsFiltered", pageInfo.getTotal());map.put("data", data);return map;}


如上圖?pageInfo.getList()就可以得到 分頁后的數據。?pageInfo.getTotal()可以得到總記錄數。

另有一別人的博客講這個插件的也推薦:http://www.cnblogs.com/xiaoxinwt/p/5329840.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451876.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451876.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451876.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

cvs

cvs 是一個C/S系統&#xff0c;是一個常用的代碼版本控制軟件。主要在 開源軟件 管理中使用。與它相類似的代碼 版本控制軟件 有 subversion 。多個開發人員通過一個中心版本控制系統來記錄文件版本 &#xff0c;從而達到保證文件同步的目的。CVS版本控制系統是一種GNU軟件包&a…

學成在線--23.課程圖片管理(上傳圖片)

文章目錄一. 需求分析1). 需求分析2). 圖片上傳流程二. 創建文件系統服務工程1). 工程目錄結構2). 項目依賴pom.xml3). 配置文件application.yml三. 后端開發1. 模型類1). 模型類2). Collection2. Api接口3. Dao4. Service5. Controller6. 測試四. 前端開發1. 需求2. 頁面1). T…

13個超棒的代碼資源網站推薦

很多開發者都有過網站開發的經歷&#xff0c;大家使用CSS、HTML以及JavaScript等技術來完成這一工作。但想必大家也知道&#xff0c;網站開發是一個很耗費時間的工作。你可能需要花費大量的時間在一些網站上尋找解決問題的代碼段。這的確很耗費時間&#xff0c;但卻幾乎又是不可…

BZOJ.3052.[WC2013]糖果公園(樹上莫隊 帶修改莫隊)

題目鏈接 BZOJ 當然哪都能交(都比在BZOJ交好)&#xff0c;比如UOJ #58 //67376kb 27280ms //樹上莫隊帶修改莫隊 模板題 #include <cmath> #include <cstdio> #include <cctype> #include <cstring> #include <algorithm> //#define gc() get…

Jquery Datatable的使用樣例(ssm+bootstrsp框架下)服務器端分頁

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 效果&#xff1a; 我這個表格數據 比較少沒有第2頁 有多例多頁的效果&#xff08;帶滾動條和翻頁&#xff09;&#xff1a; 1. jsp頁面…

Hadoop集群(四) Hadoop升級

Hadoop前面安裝的集群是2.6版本&#xff0c;現在升級到2.7版本。 注意&#xff0c;這個集群上有運行Hbase&#xff0c;所以&#xff0c;升級前后&#xff0c;需要啟停Hbase。 更多安裝步驟&#xff0c;請參考&#xff1a; Hadoop集群(一) Zookeeper搭建 Hadoop集群(二) HDFS搭建…

學成在線--24.課程圖片管理(保存課程圖片)

文章目錄一. 需求分析二. 服務端開發1. 模型類2. API3. Dao4. Service5. Controller三. 前端開發1. API2. 頁面1). 添加上傳成功的鉤子 :on-success"handleSuccess"2). 在鉤子方法 中保存課程圖片信息一. 需求分析 圖片上傳到文件系統后&#xff0c;其它子系統如果想…

從任意網頁上摘取酷炫Jquery效果為自己使用的方法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 用的chrome 瀏覽器 2. 隨意百度一個漂亮的jquery效果 比如我找到一個可以旋轉的多面體效果 3. 再F12選 Resources到如下界面&…

shell基礎05 處理用戶輸入

1. 命令行參數------類似javac 參數1 參數2 類似Java中編譯的javac parm1....。在shell中&#xff0c;參數與參數之間用空格隔開。采用位置參數來識別對應的參數值&#xff1a;$0是程序名&#xff0c;$1是第一個參數&#xff0c;以此類推&#xff0c;知道第9個參數$9。對于大…

OpenCV 2.4.0 正式版發布,開源計算機視覺庫

OpenCV 于近日發布了 2.4.0 正式版。 OpenCV是一個基于BSD許可證授權發行的跨平臺開源計算機視覺庫&#xff0c;可以運行在Linux、Windows和Mac OS操作系統上。作為一款簡潔而且高效的視覺庫&#xff0c;OpenCV由一系列 C 函數和少量 C 類構成&#xff0c;同時提供了Python、Ru…

最小編輯代價-golang

題目&#xff1a; 給定兩個字符串str1和str2&#xff0c;在給定三個整數ic,dc和rc,分別代表插入、刪除和替換一個 字符&#xff0c;返回將str1編輯成str2的最小代價。 解題方法&#xff1a; 動態規劃。首先生成大小為(M1)X(N1)的矩陣dp。 假設str1"avb12cd3", str2&q…

You can't specify target table 'TS_AUTH_ADMIN' for update in FROM clause記錄

&#xff11;. 報錯&#xff1a;You cant specify target table TS_AUTH_ADMIN for update in FROM clause&#xff0c; 百度查到說是&#xff0c;不能在同一語句中先select出同一表中的某些值,再update這個表 。 我原本的sql是&#xff1a;&#xff08;刪除角色的時候&#…

study of javaserver faces lifecycle

JavaServer Faces應用程序的生命周期在客戶端為頁面發出HTTP請求時開始&#xff0c;并在服務器響應該頁面并轉換為HTML時結束。 通常將JSF的生命周期分為兩個階段&#xff1a; #執行階段 #渲染階段 1.執行階段 JavaServer Faces應用程序生命周期執行階段包含以下子階段&#xf…

從開源軟件開發中體會到的心得

Mitchell Hashimoto 是一名開源軟件工程師。由他托管到 GitHub 上的 開源項目 Vagrant&#xff0c;是一個用于創建和部署虛擬化開發環境的工具。近日&#xff0c;Mitchell撰文講述了在開發 Vagrant 的過程中學到的有關開源軟件開發的一些心得。 以下為原文文章&#xff1a; 把 …

學成在線--25.課程圖片管理(圖片查詢)

文章目錄一. 需求分析二. API三. 服務端開發1. Dao2. Service3. Controller四. 前端開發1. API方法2. 頁面一. 需求分析 課程圖片上傳成功&#xff0c;再次進入課程上傳頁面應該顯示出來已上傳的圖片。 二. API 在課程管理服務定義查詢方法 文件位置&#xff1a;xcEduServic…

redux源碼解讀

背景 因為就得去實習了。所以打算開始補補坑。比如自己閱讀源碼的計劃。所以今天來聊聊redux的源碼。后續會有redux-thunk和react-redux的源碼閱讀。搞定這些的話&#xff0c;就開始閱讀一個node的庫的源碼了&#xff0c;比如eventproxy和anywhere。 開始 總覽, redux的文件結構…

sql語句update中多個case/when的寫法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 又如&#xff1a; update xxxx_xxxx set xxx_typeCASE WHEN xxx_type 0 THENYXLX-0WHEN xxx_type 1 THENYXLX-1WHEN xxx_type 2 THE…

Redis-ha(sentinel)搭建

服務器描述&#xff1a;本次搭建是用來測試&#xff0c;所以是在一臺服務器上搭建三個redis服務&#xff08;一主兩從&#xff09; 服務角色 端口 Redis.conf名稱 sentinel配置文件名稱 sentinel端口 redis日志路徑 sentinel路勁 主(master) 6379 redis.conf sentine…