在Spring Dao中使用Ibatis返回分页记录集时,一般是采用如下方式可以很方便完成任务:
但在数据表中记录数比较大,超过百万时,返回的速度不堪忍受。
后来在改进了statement语句,在statement上控制分页,原来的statement
改进后
前提是数据库要支持 limit 和 offset。
然后在DAO再增加不带skip和max的getList方法。
使用时,只需把limit和offset的值写到hashMap上就行了。
改进后,执行180万数据量的分页,取第1页分页数据时,原来需要20秒以上的执行速度,现在只需1秒不到。分页数增大时,所需的时间也会相应更多,但比原来的方法,节约了不少时间。