一、结合MyBatis,不使用插件方式
1.1、不使用插件方式1
先在数据库中查询演示
controller
这里只是演示,就直接跳过了service层了,controller直接调用mapper
1.2、不使用插件方式2
1.3、带条件分页查询
方式一:直接在sql语句中拼接
mapper
方式二:直接在Java语句中拼接
controller
mapper
二、结合MyBatis,使用分页插件方式
2.1、使用PageHelper分页插件方式
参考:https://www.cnblogs.com/xiaowangxiao/p/11334466.html
三、结合mybatis-plus,不使用插件方式
四、结合mybatis-plus,使用PaginationInnerInterceptor插件方式
4.1、引进依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
4.2、添加分页插件
4.3、controller
@GetMapping("/dynamic_table")
public Page<User> dynamic_table(
@RequestParam(value="pageNum",defaultValue = "1") Integer pageNum,
@RequestParam(value="pageSize",defaultValue = "5") Integer pageSize){
//从数据库中查出user表中的用户进行展示
//构造分页参数
Page<User> page = new Page<>(pageNum, pageSize);
//调用page进行分页,用户数据 和 分页信息都在userPage中
Page<User> userPage = userService.page(page, null);
return userPage ;
}
4.4、Service
4.5、ServiceImpl
4.6、Mapper/dao
Page类详细信息
public class Page<T> implements IPage<T> {
private static final long serialVersionUID = 8545996863226528798L;
/*查询数据列表*/
protected List<T> records = Collections.emptyList();
/*总数*/
protected long total = 0;
/*每页显示条数,默认 10*/
protected long size = 10;
/*当前页*/
protected long current = 1;
等