关于PageHelper的动态代理是向sql注入limit字段还是代理java层的问题

先上结论:

pagehelper是动态代理mybatis的底层拼接sql,而不是从java层处理数据。

pagehelper一次查询中执行了两条sql,一条是用户请求的sql,一条是查询所有满足数据的总条数。

 

验证过程:

将如下配置加入application.yml文件中,目的是在控制台打印sql

mybatis:
  mapper-locations: classpath:mapper/*Mapper.xml
  ##打印sql
  configuration:
      log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

#showSql
logging:
  level:
    com.example.demo.mapper: debug

接下来我们进行一次查询:

可以看到一次查询中执行了两条sql,因为查询被pagehelper代理了, 第一条sql是获取满足条件的数据总条数,第二条是注入limit分页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值