今天嚴(yán)肅點(diǎn)說說菜單管理板塊與mybatis如何實(shí)現(xiàn)分頁查詢

CompanyManager項(xiàng)目簡介

該項(xiàng)目的搭建環(huán)境:
項(xiàng)目管理:maven
框架:spring、springmvc、mybatis、easyui
數(shù)據(jù):mysql
主要用途:實(shí)現(xiàn)了用戶管理、菜單管理、部門管理、理財(cái)管理、理財(cái)報(bào)表、待辦管理、字典管理等多個(gè)功能,可作為有具體需要的朋友提供參考的demo,也可作為新手學(xué)習(xí)的demo。
碼云地址:https://git.oschina.net/xi_fan/CompanyManager.git

目前該項(xiàng)目已經(jīng)搭建在騰訊云上,有需要的朋友可以登錄訪問:http://123.207.236.102:8080/ssm_template/pages/login.jsp
超級(jí)管理員用戶名:system
超級(jí)管理員密碼:123


需求說明:

  • 該項(xiàng)目的菜單主要可以分為兩種,一是項(xiàng)目系統(tǒng)的菜單,需要編寫相應(yīng)的代碼進(jìn)行連接,二是web的菜單,只要提供鏈接既可以點(diǎn)擊后實(shí)現(xiàn)跳轉(zhuǎn)。
  • 主要實(shí)現(xiàn)菜單的crud。

菜單管理板塊具體實(shí)現(xiàn):

  • 項(xiàng)目的分層以及具體實(shí)現(xiàn)跟用戶管理板塊類似,可以直接查看源碼。

在這里我要談?wù)勎沂侨绾芜M(jìn)行mybatis的物理分頁的:

學(xué)過mybatis的都知道,mybatis使用RowBounds實(shí)現(xiàn)的分頁是邏輯分頁,也就是先把數(shù)據(jù)記錄全部查詢出來,然在再根據(jù)offset和limit截?cái)嘤涗浄祷貫榱嗽跀?shù)據(jù)庫層面上實(shí)現(xiàn)物理分頁,如果我們不想改變?cè)瓉鞰yBatis的函數(shù)邏輯,又實(shí)現(xiàn)物理分頁,可以編寫plugin截獲MyBatis Executorstatementhandler,重寫SQL來執(zhí)行查詢。

那么我是如何在整個(gè)項(xiàng)目中進(jìn)行實(shí)現(xiàn)的呢?

我所做的就是在view層、controller層以及Model層三個(gè)層中傳遞一個(gè)PageInfo對(duì)象,該對(duì)象綁定著分頁的信息。

在controller層:

 @RequestMapping(value = "/queryUser")
 public String queryUser(Model    model,            @ModelAttribute(value = "pageInfo") PageInfo<UserInfo> pageInfo,@ModelAttribute(value = "user") UserInfo userInfo, @ModelAttribute(value = "dept") DeptInfo dept)  {     //實(shí)現(xiàn)業(yè)務(wù) }

在service層:將PageInfo打包成RowBounds對(duì)象后傳給dao層

public ArrayList<UserInfo> queryUsers(Map<String, String> map,PageInfo<UserInfo> pageInfo) {
return userInfoDao.queryUsers(new     RowBounds(pageInfo.getFromRecord(),pageInfo.getPageSize()), map);}

在mybatis配置文件中配置plugin:interceptor屬性指向攔截器;

<plugins>
    <plugin interceptor="cn.springmvc.utildao.PaginationInterceptor" />
</plugins>

而PaginationInterceptor可以查看項(xiàng)目中cn.springmvc.utildao的源碼,
對(duì)于主要實(shí)現(xiàn)數(shù)據(jù)庫的CRUD的mapper沒有任何變化。


至于下一篇文章就待定了。


Note: 歡迎有興趣的小伙伴們fork該項(xiàng)目,一起為完善該項(xiàng)目!??!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • CompanyManager項(xiàng)目簡介 該項(xiàng)目的搭建環(huán)境:項(xiàng)目管理:maven框架:spring、springmvc...
    Java面試官閱讀 9,011評(píng)論 14 34
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,161評(píng)論 4 61
  • 為了愛最真實(shí)的釋放脫離一切疾苦躲避所有的俗世來到這屬于我的黑色天堂 混沌的空氣中彌漫著血腥的味道夾雜著死亡的氣息在...
    風(fēng)四火閱讀 130評(píng)論 0 1
  • 四月三日晚,北京798和頤酒店,4層客房走廊,彎彎_2016正在找尋房卡,遭到一名陌生男子拽拖。整個(gè)過程數(shù)分鐘。女...
    惠茹姐姐閱讀 458評(píng)論 0 1

友情鏈接更多精彩內(nèi)容