1.首先配置config
package com.mybatis_plus.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* 配置MyBatisPlus分页插件
*/
@Configuration
public class MyBatisPlusConfig {
@Bean
public MybatisPlusInterceptor MybatisPlusInterceptor(){
MybatisPlusInterceptor interceptor=new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
2.测试分页插件
@Autowired
private UserMapper userMapper;
@Test
void test01(){
//current:1就是当前页的页码,3就是显示的信息条数
Page<User> page=new Page<>(1,3);
userMapper.selectPage(page, null);
System.out.println(page.getRecords());//获取当前页数据 3条记录
System.out.println(page.getSize());//获取每页的条数 3
System.out.println(page.getCurrent()); //获取当前页码 1
System.out.println(page.getPages());//获取总页数 2
System.out.println(page.getTotal());//获取总记录数 4
System.out.println(page.hasNext());//获取有没有下一页 true
System.out.println(page.hasPrevious());//获取是否有上一页 false
}
如果想自定义查询那么在UserMapper.java里面写个方法
Page<User> selectPageVo(@Param("page") Page<User> page,@Param("age") Integer age);
UserMapper.xml文件的查询语句
<select id="selectPageVo" resultType="com.mybatis_plus.bean.User">
SELECT id,name,age,email FROM user WHERE age>#{age}
</select>
测试自定义分页
@Test
void test02(){
//测试自定义分页
Page<User> page=new Page<>(1,3);
userMapper.selectPageVo(page,20);//调用自定义的查询
System.out.println(page.getRecords());//获取当前页数据 3条记录
System.out.println(page.getSize());//获取每页的条数 3
System.out.println(page.getCurrent()); //获取当前页码 1
System.out.println(page.getPages());//获取总页数 2
System.out.println(page.getTotal());//获取总记录数 4
System.out.println(page.hasNext());//获取有没有下一页 true
System.out.println(page.hasPrevious());//获取是否有上一页 false
}