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

