在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
接口進行分頁查詢。