MP实战系列(十四)之分页使用
MyBatis Plus的分页,有插件式的,也有其自带了,插件需要配置,说麻烦也不是特别麻烦,不过觉得现有的MyBatis Plus足以解决,就懒得配置插件了。
MyBatis Plus的资料不算是太多,与MyBatis相比。所以将可能用到的记录下来。分页及其搜索对于web开发是非常常用的。
使用MyBatis Plus已经有5个多月,开发的效率,的确提高不少。虽然前面有MyBatis的逆向工程,可以生成单表的增删改查,但是呢?看起来繁杂,用起来不爽,因为还得看一大堆sql和一些queryvo,看起来就不爽,何况用呢。
MyBatis Plus Github开源地址如下:https://github.com/baomidou/mybatis-plus
至于maven依赖,前面实战系列贴的都有,这里不再重复贴。
来个单元测试示例:
import java.util.HashMap;
import java.util.List;
import java.util.Map; import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.baomidou.mybatisplus.plugins.Page;
import com.entity.SysDictData;
import com.service.SysDictDataService; @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring/spring.xml")
public class JunitTest { @Autowired
private SysDictDataService sysDictDataService; @Test
public void testName() throws Exception { List<SysDictData> list = sysDictDataService.selectList(null);
int tatalCount = sysDictDataService.selectCount(null);
Page<SysDictData> page =new Page<SysDictData>();
page.setRecords(list);
page.setCurrent(1);
page.setLimit(1);
page.setSize(10);
page.setTotal(tatalCount);
System.out.println(page.getRecords()) }
selectList(null)这个方法前面的关于封装方法详解有过说明,这里不再赘述。
上面的page.setRecords()、 page.setCurrent()、 page.setLimit()、page.setSize()、 page.setTotal()等等方法,相信有一定编程编程经验或者英语水平一般的人都能看出来是什么意思。
不过这里还是要稍微解释下:
Records:相当于将集合数据放入其中,作为集合数据装载容器
Current:当前页
Limit()相当于 select id,user_name,password from `user` limit 0,5 从索引几开始
Size():每页显示多少条数据
Total():数据总数
至于最后的page.getRecords()就是获取对应的数据。当然如果你要获取当前页或者数据总数可以对象.方法
例如:
page.getTotal(); page.getCurrent();
关于MyBatis Plus封装方法讲解可以参考我的如下博客:
如果对上面的有疑惑,可以留言,说明疑惑,我必尽力详细解答。
当然了,如果你只是使用MyBatis而不是MyBatis,分页可以使用MyBatis的插件,当然了,如果觉得插件配置麻烦了话,可以参考我的这篇文章实现简单分页:
layui前端框架之分页
尽管你不是使用layui,但里面的代码你可以参考。
MP实战系列(十四)之分页使用的更多相关文章
- MP实战系列(十二)之封装方法详解(续二)
继续MP实战系列(十一)之封装方法详解(续一)这篇文章之后. 此次要讲的是关于查询. 查询是用的比较多的,查询很重要,好的查询,加上索引如鱼得水,不好的查询加再多索引也是无济于事. 1.selectB ...
- MP实战系列(十)之SpringMVC集成SpringFox+Swagger2
该示例基于之前的实战系列,如果公司框架是使用JDK7以上及其Spring+MyBatis+SpringMVC/Spring+MyBatis Plus+SpringMVC可直接参考该实例. 不过建议最好 ...
- shiro实战系列(十四)之配置
Shiro 被设计成能够在任何环境下工作,从最简单的命令行应用程序到最大的的企业群集应用.由于环境的多样性,使得许多配置机制适用于它的配置. 一. 许多配置选项 Shiro的SecurityManag ...
- MP实战系列(十九)之批量新增
批量操作在实际开发中也应用非常多,例如批量下发优惠券.批量添加用户等. 以MyBatis为例,通常实现批量操作,有这么几种方式? 第一,单条插入sql语句,进行for循环遍历,基准条件是根据前端传过的 ...
- MP实战系列(十八)之XML文件热加载
你还在为每次修改XML文件中的SQL重新启动服务器或者是等待几分钟而烦恼吗? 配置了热加载即可解决你的这个问题. 这就是XML文件热加载的目的,减少等待时间成本,提高开发效率. SSM框架配置(Spr ...
- MP实战系列(十五)之执行分析插件
SQL 执行分析拦截器[ 目前只支持 MYSQL-5.6.3 以上版本 ],作用是分析 处理 DELETE UPDATE 语句, 防止小白或者恶意 delete update 全表操作! 这里我引用M ...
- MP实战系列(十六)之性能分析插件
性能分析拦截器,用于输出每条 SQL 语句及其执行时间. 虽然使用阿里的Druid连接池可以完成这个目的,但是,我们一般认为,目前的组件能够达到这个目的,尽量使用目前的组件,因为修改配置和引入第三方库 ...
- MP实战系列(七)之集成springboot
springboot是现在比较流行的微服使用的框架,springboot本质上就是将spring+springmvc+mybatis零配置化,基本上springboot的默认配置符合我们的开发.当然有 ...
- MP实战系列(九)之集成Shiro
下面示例是在之前的基础上进行的,大家如果有什么不明白的可以参考MP实战系列的前八章 当然,同时也可以参考MyBatis Plus官方教程 建议如果参考如下教程,使用的技术为spring+mybatis ...
随机推荐
- java8 集合神操作
public class StreamUtils { private static final List<Integer> listInteger = Lists.newArrayList ...
- 华中农业大学第五届程序设计大赛网络同步赛-G
G. Sequence Number In Linear algebra, we have learned the definition of inversion number: Assuming A ...
- CSS笔记——属性选择器
1.存在和值(Presence and value)属性选择器这些属性选择器尝试匹配精确的属性值:[attr]:该选择器选择包含 attr 属性的所有元素,不论 attr 的值为何.[attr=val ...
- 【代码笔记】iOS-导航条的标题(label)
一,效果图. 二,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the ...
- SQL SERVER 将表字段值0和1互转的几种方法
需求: 如果表字段的值为 0 则将其修改为1 ,如果表字段的值为 1 则将其修改为 0. 方法一 end 方法二 ) 方法三 )
- Windows应用程序进程级别统一监控实践
一般的系统级别指标监控,更多关注CPU.内存.磁盘.网络等运行情况,对应用程序运行时的进程指标关注不够,导致不能深入了解系统运行状态.本文根据笔者应用实践,探讨一下进程级别监控涉及到的监控内容以及监控 ...
- flutter tab切换页面防止重置
问题描述:TabBar 配合TabBarView切换页面,然后每个页面是一个listview加载数据,但是切换页面后listview的数据会被重置, 重新被加载了,解决办法使用 with Automa ...
- CSS控制Span强制换行亲测
span { word-wrap: break-word; word-break: break-all; white-space: pre-wrap !important; }
- 使用ES6+Vue+webpack+gulp构建新一代Web应用
1.推荐学习网站:Vue.js中国 2.Demo环境搭建: 2.1环境配置 安装nodejs环境,具体内容可以百度: 新建一个文件夹: mkdir VUE-ES6-WebPack 全局安装gulp: ...
- 《SQLSERVER2012实施与管理实战指南》前4章节笔记内容
<SQLSERVER2012实施与管理实战指南>前4章节笔记内容 <SQLSERVER2012实施与管理实战指南>的前面4章是<SQLSERVER企业级平台管理实践> ...