Mybatis實現(xiàn)分頁的注意點
更新時間:2017年07月19日 14:08:27 作者:Spade-A
Mybatis提供了強大的分頁攔截實現(xiàn),可以完美的實現(xiàn)分功能。下面小編給大家分享小編在使用攔截器給mybatis進行分頁所遇到的問題及注意點,需要的朋友一起看看吧
前面的話:使用攔截器給Mybatis進行分頁的教程在網(wǎng)上有很多,這里記錄的主要是我在使用的時候中間走的彎路,記錄下來,也好給后面想要學習Mybatis分頁攔截的小伙伴們提供點幫助。
1. 攔截器獲取參數(shù),判斷是否有Page類
1) 使用ThreadLocal 獲取
//獲取ThreadLocal private static ThreadLocal<Page> pageLocal = new ThreadLocal<Page>(); 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; } }
總結
以上所述是小編給大家介紹的Mybatis實現(xiàn)分頁的注意點,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
一文解決System.in關閉后無法再繼續(xù)使用流的問題
這篇文章主要給大家介紹如何解決System.in關閉后無法再繼續(xù)使用流的問題,文中有詳細的解決方法和代碼示例,具有一定的參考價值,需要的朋友可以參考下2023-07-07劍指Offer之Java算法習題精講字符串操作與數(shù)組及二叉搜索樹
跟著思路走,之后從簡單題入手,反復去看,做過之后可能會忘記,之后再做一次,記不住就反復做,反復尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質的變化2022-03-03