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实现分页的注意点,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
热门推荐
10 新人红包祝福语简短精辟
11 幼师给毕业祝福语简短
12 生日高考祝福语妹妹简短
13 下飞机祝福语简短英文
14 元宵发客户祝福语简短
15 爸妈金婚文案祝福语简短
16 新郎朋友红包祝福语简短
17 虎年五一祝福语大全简短
18 出阁宴祝福语姐姐简短