导入依赖
<!--MySQL驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<!--MyBatis整合SpringBoot框架的起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
yml配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ymcc-course?serverTimezone=Asia/Shanghai
username: root
password: 123456
main:
allow-circular-references: true
mybatis:
type-aliases-package: com.qyf.pojo
mapper-locations: classpath:mapper/*.xml
# 驼峰命名
configuration:
mapUnderscoreToCamelCase: true
#pagehelper分页插件配置
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
logging:
level:
com.qyf.mapper: debug # 要改成要打印的sql语句所在的mapper文件所在包路径
实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Course {
private Long id;
private String name;
......
}
mapper接口
@Mapper
public interface CourseMapper {
List<Course> queryPage();
}
调用
@RequestMapping("/queryPage")
public List<Course> selectAll() {
PageHelper.startPage(1,2);
List<Course> list = service.queryPage();
PageInfo<Course> pageInfo = new PageInfo<>(list);
list.forEach(t->{
System.out.println(t);
});
System.out.println("--------------------------");
System.out.println(pageInfo);
return list;
}
测试
mapper.CourseMapper.queryPage_COUNT : ==> Parameters:
mapper.CourseMapper.queryPage_COUNT : <== Total: 1
Mapper.queryPage : ==> Preparing: select * from t_course LIMIT ?
mapper.CourseMapper.queryPage : ==> Parameters: 2(Integer)
mapper.CourseMapper.queryPage : <== Total: 2
Course(id=1, name=java基础班java基础班, forUser=小白, courseTypeId=1039, gradeName=黄金, gradeId=4, status=1, loginId=42, loginUserName=yhptest, startTime=Sun Sep 29 10:34:18 CST 2019, endTime=Tue Oct 01 10:34:22 CST 2019, pic=https://www.itsource.cn/upload/class/20200706/609f86c2-c77e-4785-9c8b-67969f1ca39f.png, totalMinute=200, onlineTime=Sun Oct 24 05:39:28 CST 2021, chapterCount=2)
Course(id=2, name=javaWEB班j, forUser=有javase基础, courseTypeId=1039, gradeName=黄金, gradeId=4, status=1, loginId=42, loginUserName=yhptest, startTime=Sun Oct 13 10:46:45 CST 2019, endTime=Sun Oct 13 10:46:47 CST 2019, pic=https://www.itsource.cn/upload/class/20200512/e9db8748-8f9c-4c8a-866b-8e0a3331c389.png, totalMinute=200, onlineTime=Sun Oct 24 05:39:32 CST 2021, chapterCount=2)
--------------------------
PageInfo{pageNum=1, pageSize=2, size=2, startRow=1, endRow=2, total=19, pages=10, list=Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=19, pages=10, reasonable=true, pageSizeZero=false}[Course(id=1, name=java基础班java基础班, forUser=小白, courseTypeId=1039, gradeName=黄金, gradeId=4, status=1, loginId=42, loginUserName=yhptest, startTime=Sun Sep 29 10:34:18 CST 2019, endTime=Tue Oct 01 10:34:22 CST 2019, pic=https://www.itsource.cn/upload/class/20200706/609f86c2-c77e-4785-9c8b-67969f1ca39f.png, totalMinute=200, onlineTime=Sun Oct 24 05:39:28 CST 2021, chapterCount=2), Course(id=2, name=javaWEB班j, forUser=有javase基础, courseTypeId=1039, gradeName=黄金, gradeId=4, status=1, loginId=42, loginUserName=yhptest, startTime=Sun Oct 13 10:46:45 CST 2019, endTime=Sun Oct 13 10:46:47 CST 2019, pic=https://www.itsource.cn/upload/class/20200512/e9db8748-8f9c-4c8a-866b-8e0a3331c389.png, totalMinute=200, onlineTime=Sun Oct 24 05:39:32 CST 2021, chapterCount=2)], prePage=0, nextPage=2, isFirstPage=true, isLastPage=false, hasPreviousPage=false, hasNextPage=true, navigatePages=8, navigateFirstPage=1, navigateLastPage=8, navigatepageNums=[1, 2, 3, 4, 5, 6, 7, 8]}