在MyBatis-Plus中,IPage
和Page
都是用于分页查询的接口。它们之间的区别主要体现在以下几个方面:
-
继承关系:
IPage
是Page
的父接口。IPage
定义了分页查询的基本方法,而Page
是IPage
的实现类,提供了具体的分页查询实现。 -
引入方式:
IPage
是MyBatis-Plus 2.0版本之前的接口,而Page
是MyBatis-Plus 2.0版本引入的新接口。在2.0版本之后,Page
接口替代了IPage
接口的使用。 -
分页参数传递:
IPage
接口使用的是@Param
注解来传递分页参数,而Page
接口是通过方法的参数直接传递分页参数。这样,使用Page
接口可以更加简洁方便地传递分页参数。 -
分页查询执行:
IPage
接口的分页查询是通过List
来执行的,返回的是一个包含查询结果的列表。而records = baseMapper.selectPage(page, queryWrapper).getRecords() Page
接口的分页查询是通过IPage
方法来执行的,返回的是一个selectPage(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); IPage
对象,其中包含了查询结果以及分页信息。
综上所述,IPage
和Page
在分页查询的功能上基本一致,但在使用方式和参数传递上有一些差异。在MyBatis-Plus 2.0版本之后,推荐使用Page
接口进行分页查询。