日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hql分页获取数据总数_最简洁的分页插件PageHelper

發(fā)布時(shí)間:2025/3/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hql分页获取数据总数_最简洁的分页插件PageHelper 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最簡(jiǎn)潔的分頁插件PageHelper

簡(jiǎn)介

? ? 大部分后臺(tái)管理項(xiàng)目,用的最多的展現(xiàn)方式是列表顯示,所以我把列表查詢中的分頁插件拿出來寫一下,方便以后寫代碼的時(shí)候直接復(fù)制粘貼。在我們最熟悉的springboot微服務(wù)開發(fā)中,持久型框架mybatis使用PageHelper還是比較方便的。下面我們來看一下分頁插件PageHelper的簡(jiǎn)單使用方法。

01

首先在pom.xml中pageHelper引入

<dependencies> <dependency> <groupId>com.github.pagehelpergroupId> <artifactId>pagehelperartifactId> <version>4.1.6version> dependency> <dependency> <groupId>org.mybatisgroupId> <artifactId>mybatisartifactId> <version>3.4.6version> dependency> <dependency> <groupId>mysqlgroupId> <artifactId>mysql-connector-javaartifactId> <scope>runtimescope> dependency>dependencies>

02

配置application.yml文件

#數(shù)據(jù)庫鏈接datasource: driver-class-name: com.mysql.cj.jdbc.Driver #com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/hzc_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC username: root password: root tomcat: initial-size: 5 max-active: 30#配置mybatismybatis: mapperLocations: classpath:mybatis/mapper*.xml typeAliasesPackage: com.ten.cn.*.model#配置pageHelperpageHelper: reasonable: "true" supportMethodsArguments: "true" returnPageInfo: check params: count=countSql

03

建立一個(gè)分頁傳輸數(shù)據(jù)的實(shí)體,用來傳輸當(dāng)前頁和分頁條數(shù)

package com.ten.ms.cn.sys.bean;import com.ten.ms.cn.sys.model.User;/*** * 用戶分頁實(shí)體 * @author:lcj */public class UserPageInvo extends User { /** * 頁數(shù) */ private Integer page; /** * 條數(shù) */ private Integer rows; public Integer getPage() { return page; } public void setPage(Integer page) { this.page = page; } public Integer getRows() { return rows; } public void setRows(Integer rows) { this.rows = rows; }}

05

創(chuàng)建一個(gè)分頁配置方法

package com.ten.ms.cn.common.config;import com.github.pagehelper.PageHelper;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.Properties;/*** * 分頁配置 * @author:lcj */@Configurationpublic class PageHelperConfig { /** * 配置mybatis的分頁插件pageHelper * * @return */ @Bean public PageHelper pageHelper() { PageHelper pageHelper = new PageHelper(); Properties properties = new Properties(); properties.setProperty("offsetAsPageNum", "true"); properties.setProperty("rowBoundsWithCount", "true"); properties.setProperty("reasonable", "true"); properties.setProperty("dialect", "postgresql");//配置postgresql數(shù)據(jù)庫的方言支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六種數(shù)據(jù)庫 pageHelper.setProperties(properties); return pageHelper; }}

06

創(chuàng)建一個(gè)返回實(shí)體

package com.ten.ms.cn.common.bean;/** * 全局統(tǒng)一json返回值接口 * * @author user */public class ResultInfo { /** * 錯(cuò)誤編號(hào) */????private?String?errorCode?=?"0";????private?String?code?=?"200"; /** * 錯(cuò)誤信息 */????private?String?errorMessage; /** * 包裝實(shí)體 */????private?Object?data; /** * 返回dataGrid的總頁數(shù) */????private?long?total; public ResultInfo() {????} /** * 返回分頁數(shù)據(jù)數(shù)據(jù) */????private?Object?rows; public ResultInfo(String errorCode, String errorMessage, Object data, long total, Object rows) { this.errorCode = errorCode; this.errorMessage = errorMessage; this.data = data; this.total = total; this.rows = rows;????} public ResultInfo(String errorCode, String errorMessage, Object data) { this.errorCode = errorCode; this.errorMessage = errorMessage; this.data = data;????} public String getErrorCode() { return errorCode;????} public void setErrorCode(String errorCode) { this.errorCode = errorCode; } public String getErrorMessage() { return errorMessage; } public void setErrorMessage(String errorMessage) { this.errorMessage = errorMessage; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } public long getTotal() { return total; } public void setTotal(long total) { if ((int) total == 0) { total = 1; } this.total = total; } public Object getRows() { return rows; } public void setRows(Object rows) { this.rows = rows; } public String getCode() { return code; } public void setCode(String code) { this.code = code; }}

07

簡(jiǎn)單的分頁實(shí)例

@RequestMapping(value = "/getUserList", method = {RequestMethod.GET, RequestMethod.POST})@ResponseBodypublic ResultInfo getUserList(@RequestBody SysUserPageInvo sysUserPageInvo) { // 定義傳參 int page = sysUserPageInvo != null && sysUserPageInvo.getPage() != null ? sysUserPageInvo.getPage() : 0;// 當(dāng)前頁數(shù) int rows = sysUserPageInvo != null && sysUserPageInvo.getRows() != null ? sysUserPageInvo.getRows() : 10;//一頁多少條數(shù)據(jù) ResultInfo result = new ResultInfo(); PageHelper.startPage(page, rows); // 獲取數(shù)據(jù) List list = this.sysUserService.getUserList(sysUserPageInvo); PageInfo pageInfo = new PageInfo(list); // 當(dāng)前分頁數(shù)據(jù) Page pages = (Page) list; // 總共多少條數(shù)據(jù) result.setTotal(pageInfo.getTotal()); result.setRows(pages); return result;}

08

最終的頁面展示

結(jié)

? ? PageHelper的使用大概就是這樣返回給前臺(tái)的數(shù)據(jù)是當(dāng)前分頁的list列表和數(shù)據(jù)的總數(shù)。同樣如果后臺(tái)返回固定的json格式數(shù)據(jù),前臺(tái)自動(dòng)加載到列表控件中。后續(xù)我會(huì)分享更多的技術(shù)相關(guān)的內(nèi)容,請(qǐng)大家多多關(guān)注。

掃碼關(guān)注我們

總結(jié)

以上是生活随笔為你收集整理的hql分页获取数据总数_最简洁的分页插件PageHelper的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。