使用Mybatis進(jìn)行分頁時(shí)需要注意哪些事項(xiàng)?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括青山湖網(wǎng)站建設(shè)、青山湖網(wǎng)站制作、青山湖網(wǎng)頁制作以及青山湖網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,青山湖網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到青山湖省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!1. 攔截器獲取參數(shù),判斷是否有Page類
1) 使用ThreadLocal 獲取
//獲取ThreadLocal private static ThreadLocalpageLocal = new ThreadLocal (); private Page getPage() { return pageLocal.get(); }
2) 從boundsql里面獲取
BoundSql boundSql = delegate.getBoundSql(); Object parameterObject = boundSql.getParameterObject(); Page page = this.getPage(parameterObject); private Page getPage(Object parameterObject) { Page page = null; if (parameterObject instanceof Page) { page = (Page) parameterObject; } else if (parameterObject instanceof Map) { for (Object val : ((Map, ?>) parameterObject).values()) { if (val instanceof Page) { page = (Page) val; } } } return page; }
2. 重載plugin方法
@Override public Object plugin(Object target) { if (target instanceof StatementHandler) { return Plugin.wrap(target, this); } else { return target; } }
關(guān)于使用Mybatis進(jìn)行分頁時(shí)需要注意哪些事項(xiàng)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。