普通查询会返回所有结果证明方法:
可以看到if(!streamResult)的时候,也就是说非流式查询的时候,就会直接while循环获取全部row,然后就会返回一个ResultsetRowsStatic对象,但是流式的话是返回一个ResultsetRowsStreaming的对象。
结合上面next(0方法的逻辑图,在每次调用next()的时候其实会调用具体对象的next()方法,下面再看看ResultsetRowsStreaming的next方法
不难看出,ResultsetRowsStreaming每次调用next的时候才会进行package的获取(从mysql的outputStream流读出),所以能实现以package为最小单位的获取处理
但是要注意,这里的package不是tcp中的package,所以不这里的package是一定含有完整的数据,可能是一条或者多条数据的返回,不是一定是一条数据