1.首先首先配置类
@Configuration
@MapperScan("com.laoyang.Mapper")
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
2.测试
Page<Book> page=new Page<>(1,3);
1:代表起始页数,3:代表每页展示的个数
@SpringBootTest
public class mybatisplugs {
@Autowired
private BookMapper bookMapper;
@Test
public void test(){
Page<Book> page=new Page<>(1,3);
Page<Book> page1 = bookMapper.selectPage(page, null);
System.out.println(page);
}
}
3.分页相关数据获取
System.out.println(page.getRecords());//展示的数据
System.out.println(page.getCurrent());//当前多少页
System.out.println(page.getSize());//一页展示几个
System.out.println(page.getPages());//总页数
System.out.println(page.getTotal());//总记录数
System.out.println(page.hasNext());//是否有下一页
System.out.println(page.hasPrevious());//是否有上一页
结果:
4.自定义实现分页功能
4.1 在mapper中写方法 page 同时必须位于第一个参数位置
/**
* 通过id实现分页
* @param page 同时必须位于第一个参数位置
* @param id
* @return
*/
Page<Book> selectpageid(@Param("page") Page<Book> page,@Param("id") Integer id);
注意:
@Param : 是将方法中的关键字段与sql语句#{id}相关联
4.2 在mybatis中写sql语句
<select id="selectpageid" resultType="Book">
select bookid,bookname,bookcounts,detail from book where book.bookid > #{id}
</select>
4.3 测试 查找id大于4的分页功能
/**
* 自定义分页功能
*/
@Test
public void test2(){
Page<Book> page=new Page<>(1,3);
Page<Book> selectpageid = bookMapper.selectpageid(page, 4);
System.out.println(page.getCurrent());
}