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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Mysql分页加pagebean_Spring+MyBatis+SpringMvc+Mysql+Druid+PageHelper分页实现

發布時間:2023/12/10 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql分页加pagebean_Spring+MyBatis+SpringMvc+Mysql+Druid+PageHelper分页实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

思路分析

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="請輸入查詢條件">

查詢

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

總結

以上是生活随笔為你收集整理的Mysql分页加pagebean_Spring+MyBatis+SpringMvc+Mysql+Druid+PageHelper分页实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。