接着上一篇https://blog.youkuaiyun.com/sinat_22808389/article/details/97239750,我们继续整合pagehelper,步骤如下:
1.引入插件依赖
<!--pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
2.配置数据库类型:
在resources/application-dev.yml 中添加如下配置,指定数据库为mysql(因为各种数据库实现分页的方式不一样):
pagehelper:
helper-dialect: mysql
3.在IMapperDao接口总添加如下方法:
@Mapper
public interface IMapperDao {
//...
@Select("select * from t_user")
public Page<User> findAll();
}
4.在ServiceImpl中添加如下方法:
@Service
public class ServiceImpl {
@Autowired
IMapperDao mDao;
//....
public Page<User> findByPage(Integer pageNum, Integer pageSize){
PageHelper.startPage(pageNum, pageSize);
Page<User> page = mDao.findAll();
return page;
}
}
5.测试 :
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {App.class})
public class ServiceImplTest {
@Autowired
ServiceImpl service;
//...
@Test
public void findByPage() {
Page<User> respage = service.findByPage(1, 3);
System.out.println(respage);
}
}
结果如下:
可以看到,后台sql进行了分页查询!
pagehelper支持多种数据库,包括(Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005,2008) Informix H2 SqlServer2012 Derby Phoenix ) 如果数据库变了,只需改配置文件数据库类型即可。