Mybatis实现分页的注意点
前面的话:使用拦截器给Mybatis进行分页的教程在网上有很多,这里记录的主要是我在使用的时候中间走的弯路,记录下来,也好给后面想要学习Mybatis分页拦截的小伙伴们提供点帮助。
1.拦截器获取参数,判断是否有Page类
1)使用ThreadLocal获取
//获取ThreadLocal privatestaticThreadLocalpageLocal=newThreadLocal (); privatePagegetPage(){ returnpageLocal.get(); }
2)从boundsql里面获取
BoundSqlboundSql=delegate.getBoundSql();
ObjectparameterObject=boundSql.getParameterObject();
Pagepage=this.getPage(parameterObject);
privatePagegetPage(ObjectparameterObject){
Pagepage=null;
if(parameterObjectinstanceofPage){
page=(Page)parameterObject;
}elseif(parameterObjectinstanceofMap){
for(Objectval:((Map,?>)parameterObject).values()){
if(valinstanceofPage){
page=(Page)val;
}
}
}
returnpage;
}
2.重载plugin方法
@Override
publicObjectplugin(Objecttarget){
if(targetinstanceofStatementHandler){
returnPlugin.wrap(target,this);
}else{
returntarget;
}
}
总结
以上所述是小编给大家介绍的Mybatis实现分页的注意点,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短