1、導入相關依賴
<!--使用PageHelper分頁插件--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.0.0</version> </dependency>
2、在applicationContext.xml配置文件中增加PageHelper的定義
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="configLocation" value="classpath:mybatis-config.xml"/> <property name="mapperLocations" value="classpath*:mapper/*Mapper.xml"/> <property name="typeAliasesPackage" value="com.zl.newHouse.entity"/> <!-- 添加全局配置 --> <property name="globalConfig" ref="globalConfig"/> <!-- 配置PageHelper分頁插件 --> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <props> <prop key="helperDialect">oracle</prop> //如果是mysql只需要更改為mysql即可 <prop key="reasonable">true</prop> </props> </property> </bean> </array> </property> </bean>
測試:
條件類:

@Data @AllArgsConstructor @NoArgsConstructor public class HouseQueryInfo { private int pageIndex;//當前頁碼(頁面傳遞) private int pageSize;//頁容量(后台設置) private String title; private String price_on; private String price_down; private String street_id; private String type_id; private String floorage_on; private String floorage_down; }
編寫一個接口:
public interface IHouseService extends IService<House>{ //根據條件查詢所有房屋信息,分頁顯示 findAllHouse自己編寫多表多條件查詢的sql語句 List<House> findAllHouse(HouseQueryInfo houseInfo) throws Exception; //使用pagehelper分頁查詢 public PageInfo<House> findBookPage(HouseQueryInfo houseInfo) throws Exception; }
編寫一個接口的實現類:
//根據條件查詢所有房屋信息,分頁顯示 @Override public List<House> findAllHouse(HouseQueryInfo houseInfo) throws Exception { return houseMapper.findAllHouse(houseInfo); } //根據查詢出來的數據分頁顯示 @Override public PageInfo<House> findBookPage(HouseQueryInfo houseInfo) throws Exception { PageHelper.startPage(houseInfo.getPageIndex(),houseInfo.getPageSize()); List<House> bookHouses = houseMapper.findAllHouse(houseInfo); PageInfo pageinfo = new PageInfo(bookHouses); return pageinfo; }
測試數據:
@Test public void testpage() throws Exception{ HouseQueryInfo houseInfo = new HouseQueryInfo(1,3,"", "", "", "", "", "", ""); PageInfo pageInfo = houseService.findBookPage(houseInfo); System.out.println("總數量" + pageInfo.getTotal()); System.out.println("當前頁查詢記錄數" + pageInfo.getList().size()); System.out.println("當前頁碼" + pageInfo.getPageNum()); System.out.println("每頁顯示數量" + pageInfo.getPageSize()); System.out.println("總頁" + pageInfo.getPages()); System.out.println("當前頁查詢記錄" + pageInfo.getList()); }