1、Mybatis-PageHelper: Mybatis通用分页插件 PageHelper。
2、下面看一个PageHelper的使用示例
maven:
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!--pagehelper-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
配置:
#mybatis
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
第一个配置:为xml的文件地址。
第二个配置:MySQL一般定义字段用下划线表示,比如book_name,good_id···
在spring boot项目中使用mybatis框架开发时,在写好SQL select查询语句后,
发现查询出的对象字段都为null,这个时候要检查SQL语句查询返回的字段和映射实体类属性是否一致,
如果不使用mybatis配置,则需要使用as重命名,不过这样要敲很多键盘,
不仅写出的SQL有些冗杂,而且易出错,所以推荐使用mybatis配置项。
该配置项就是指将带有下划线的表字段映射为驼峰格式的实体类属性。
因此,添加了该项配置后,在开发中只需要根据查询返回的字段,创建好实体类就可以了!
第三个配置:输出打印日志。
#pagehelper
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
第一个配置:使用mysql数据库。
第二个配置:当设置为true时自带分页参数合理话。
接口层:
public Result getUserListPage(@RequestBody UserListReqVO reqVO) {
PageInfo<UserListRespVO> appsPageInfo = new PageInfo<>(accountService.getUserExList(reqVO, getCompanyId()));
return ResultUtil.success(appsPageInfo);
}
Service服务层:
@Override
public List<UserListRespVO> getUserExList(UserListReqVO reqVO, int companyId){
PageHelper.startPage(reqVO.getPageIndex(),reqVO.getPageSize());
return userModelMapper.getUserExList(reqVO, companyId);
}
请求VO公共类(分页):
import java.io.Serializable;
public class BaseReqVO implements Serializable {
private static final long serialVersionUID = -5920501218429629828L;
/**
* 页码
*/
private Integer pageIndex=1;
/**
* 条数
*/
private Integer pageSize=10;
/**
* 起始数
*/
private Integer pageStart;
public BaseReqVO() {
}
public Integer getPageIndex() {
return pageIndex;
}
public void setPageIndex(Integer pageIndex) {
this.pageIndex = pageIndex;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public Integer getPageStart() {
return (pageIndex - 1) * pageSize;
}
public void setPageStart(Integer pageStart) {
this.pageStart = pageStart;
}
public void initPage(){
this.pageStart = (pageIndex - 1) * pageSize;
}
@Override
public String toString() {
return "BaseReqVO{" +
"pageIndex=" + pageIndex +
", pageSize=" + pageSize +
", pageStart=" + pageStart +