在执行SQL语句查询上面没有设置PageHelper.start(),但是偶尔会出现SQL语句进行了分页,并做了count操作
原因:之前设置的PageHelper.start()并没有被消费,还存在本地线程变量中,本线程或者相同线程执行SQL的时候将会执行分页操作(本线程回收后从线程池再次得到了该线程)
PageHelper.start()的代码
PageHelper.start()直接在本地线程赋保存了一个Page对象,Page对象是本线程私有的,所以当本线程没有立即消费的时候,只会等到从线程池中再次获得该线程才能将Page对象消费掉
所以在设置PageHelper.start()的时候需要确保会执行sql来将这个Page对象消费掉,不然就会出现没加分页的地方却出现了分页的情况