Mybatis-PageHelper Reentrantlock锁使用问

Mybatis-PageHelper应该是目前使用比较广泛的一个Mybatis分页插件。我在几个项目里都引入了该插件。今天偶然阅读其源码,却发现了一个不小的问题。

注:我阅读的是最新的4.1.3的源码。

该分页插件的核心是PageHelper类,该类实现了Mybatis提供的Interceptor接口。接口定义的intercept方法实现如下:

/**
 * Mybatis拦截器方法
 *
 * @param invocation 拦截器入参
 * @return 返回执行结果
 * @throws Throwable 抛出异常
 */
public Object intercept(Invocation invocation) throws Throwable {
    if (autoRuntimeDialect) {
        SqlUtil sqlUtil = getSqlUtil(invocation);
        return sqlUtil.processPage(invocation);
    } else {
        if (autoDialect) {
            initSqlUtil(invocation);
        }
        return sqlUtil.processPage(invocation);
    }
}

全文详见个人独立博客https://www.coderli.com/mybatis-pagehelper-reentrantlock-bug/

https://www.coderli.com/mybatis-pagehelper-reentrantlock-bug/icon-default.png?t=O83Ahttps://www.coderli.com/mybatis-pagehelper-reentrantlock-bug/

加入频道领免费Java学习资料腾讯频道邀请

加入大佬免费带队Java学习群Java学习群

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值