当前位置: 移动技术网 > IT编程>开发语言>Java > Mybatis实现分页的注意点

Mybatis实现分页的注意点

2019年07月22日  | 移动技术网IT编程  | 我要评论

前面的话:使用拦截器给mybatis进行分页的教程在网上有很多,这里记录的主要是我在使用的时候中间走的弯路,记录下来,也好给后面想要学习mybatis分页拦截的小伙伴们提供点帮助。

1. 拦截器获取参数,判断是否有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实现分页的注意点,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网