分页
Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生
@Configuration
@MapperScan("com.baidu.mapper") //用来扫描Mapper接口所在的包
public class MyBatisPlusconfig {
/**
* 新的分页插件,一缓和二缓遵循mybatis的规则,
* 需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
测试:
@Test
public void testPage(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
//当current为1 时:SELECT id,name,age,email,is_delect FROM user WHERE is_delect=0 LIMIT ?
//当current为2 时: SELECT id,name,age,email,is_delect FROM user WHERE is_delect=0 LIMIT ?,?
//分页参数
Page<User> page = new Page<>(1,3);
//执行分页
userMapper.selectPage(page,null);
//查看分页参数成员
System.out.println("==============");
System.out.println(page.getRecords()); //所有数据对象
System.out.println(page.getPages()); //获得总页数
System.out.println(page.getTotal()); //获得所以的数据 (11)
System.out.println(page.hasNext()); // 有没有下一页
System.out.println(page.hasPrevious()); //有没有上一页
}
自定义分页
首先先编写一个UserMapper接口:
/**
* 自定义分页
*
*/
Page<User> selectPageVo(@Param("page") Page<User> page,@Param("age") Integer age);
UserMapperxml
<select id="selectPageVo" resultType="user">
select id,name,age,email from user where age> #{age}
</select>
这里使用了别名,要在配置文件 .yaml 中配置一下别名
# 设置别名
type-aliases-package: com.baidu.pojo
测试:
调用自己定义的自定义分页的方法;
@Test
public void test01(){
Page<User> page = new Page<>(1,3);
userMapper.selectPageVo(page,20);
//查看分页参数成员
System.out.println("==============");
System.out.println(page.getRecords()); //所有数据对象
System.out.println(page.getPages()); //获得总页数
System.out.println(page.getTotal()); //获得所以的数据 (11)
System.out.println(page.hasNext()); // 有没有下一页
System.out.println(page.hasPrevious()); //有没有上一页
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/71818.html