在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<T> records = baseMapper.selectPage(page, queryWrapper).getRecords()
来执行的,返回的是一个包含查询结果的列表。而Page
接口的分页查询是通过IPage<T> selectPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
方法来执行的,返回的是一个IPage
对象,其中包含了查询结果以及分页信息。
综上所述,IPage
和Page
在分页查询的功能上基本一致,但在使用方式和参数传递上有一些差异。在MyBatis-Plus 2.0版本之后,推荐使用Page
接口进行分页查询。