mybatis分页插件MicroPageInterceptor 特点:
1, 支持mysql和oracle分页
2, 不必在xml编写统计count的sql
3, 使用RowBounds子类PageInfo作为分页信息和记录总数的载体,不必像其他分页插件那样要求输入输出参数必须继承特殊父类。
4, 可在PageInfo中填写自定义排序sql串,提高查询性能和排序灵活性
jar已经提交maven中央库version使用最新的
spring 中配置 mybatis 分页插件 MicroPageInterceptor
建议在 sqlSessionFactory 中配置,可以根据 sqlSessionFactory 是 oracle 还是 mysql 配置插件的 dialect 属性
Dao接口设置
接口中添加PageInfo参数,表示需要分页处理
//分页查询,传入PageInfo参数 public List queryInfoByCondition(Map paramMap,PageInfo pageInfo); //不分页,则不用传PageInfo参数 public List queryInfoByCondition(Map paramMap);
PageInfo结构
PageInfo继承RowBounds可以透传到Mybatis内部,不影响正常的参数。 pageNo,页数从1开始 pageRows,每页条数 orderStr,自定义排序sql(非必填) total,返回总记录数(返回值)
public class PageInfo extends RowBounds { public PageInfo(int pageNo,int pageRows) { super(pageNo, pageRows); } public PageInfo(int offset,int limit, String orderStr) { super(offset, limit); this.orderStr=orderStr; } private Longtotal = 0l; public Long getTotal() { returntotal; } public void setTotal(Long total) { this.total = total; } private StringorderStr = ""; public String getOrderStr() { returnorderStr; } public void setOrderStr(String orderStr) { this.orderStr = orderStr; } }
分页或不分页sql在xml中是一样的不需要修改;sql不需要针对pageinfo做额外处理,比如手工添加limit或rownum;不需要分页的则不传PageInfo参数;不需要额外填写count统计sql;
Java调用Dao
PageInfo创建实例时需填写pageNo(页数从1开始)和pageRows(每页条数) 如果xml中sql没有orderby语句可以,在pageInfo中设置pageInfo.setOrderStr()
//创建分页信息对象 PageInfo pageInfo=new PageInfo(1,10);//第1页,每页10条 //可以设置order串(非必须) pageInfo.setOrderStr("id desc"); //调用dao并传入 pageInfoList list=testRep.queryInfoById(paramMap,pageInfo); System.out.println(list); //使用pageInfo.getTotal()获取总记录数 System.out.println(pageInfo.getTotal());
注意:
1,自定义排序
如果xml中sql没有写死排序sql,则pageInfo可以设置排序字符串。好处是查询记录个数时不必排序,查询记录时自动拼上排序sql,提高查询性能。也可以不修改xml中sql支持灵活排序。
2,总记录数处理
不必编写额外的查询count的sql;记录数会在插件中设置到pageInfo对象的total字段中带回。
mybatis-plus功能强大,同时带有分页功能。 再controller层直接调用 page()方法即可 。 page()方法有俩个参数 ,一个是page ,一个是 queryWrapper 后者可以给他设置一些条件,属于非必要参数。 page 参数是必要的 。 这个page类 是 java8 之后的,是由mybatis-plus自带的, 它的包如下 import com.baomidou
MyBatis-Plus中Page类 MyBatisPlus在使用分页时需要传入一个Page对象,这里对该对象做一些解释 打开Page的源码我们可以看到Page实现了IPage接口 private static final long serialVersionUID = 8545996863226528798L; protected List<T> records; protect
mybatis-plus-join mybatis-plus-join是mybatis plus的一个多表插件,上手简单,十分钟不到就能学会全部使用方式,只要会用mp就会用这个插件,仅仅依赖了lombok,而且是扩展mp的构造器并非更改原本的构造器,不会对原有项目产生一点点影响,相信大多数项目都有这俩插件,四舍五入就是没依赖。 mybatis-plus-join插件地址: gitee:https:
目录 1.MyBatis-plus基础 1.1.mybatis-plus简介 1.2.基本使用 1.3.注解映射 1.4.命名转换问题 1.4.1.自动转换命名 1.4.2.关闭命名转换功能 2.MyBatis-plus的CRUD 2.1.BaseMapper核心接口 2.2.基础增删改查 2.3.QueryWrapper的用法 2.4.UpdateWrapper的用法 2.5.分页查询 2.6.
MyBatisPlus Mybatis 和 Mybatis Plus 的区别 MyBatis: 所有SQL语句全部自己写 手动解析实体关系映射转换为MyBatis内部对象注入容器 不支持Lambda形式调用 Mybatis Plus: 强大的条件构造器,满足各类使用需求 内置的Mapper,通用的Service,少量配置即可实现单表大部分CRUD操作 支持Lambda形式调用 提供了基本的CRUD
一、序言 Mybatis-Plus在设计之初是为了扩展而不是替代Mybatis,所以对于连表查询官方并没有给出解决方法,还是依托Mybatis通过XML配置文件中写SQL语句的方式。但是在多数据源适配上,还是想要消除掉XML以屏蔽不同数据库类型的查询(新增加一个数据库,不需要新增加一个XML配置)。 最后采用第三方开源工具Mybatis-Plus-Join实现连表查询,开源地址:https://g
Mybatis-Plus 是一个 MyBatis 增强工具包,简化 CRUD 操作。 启动加载 XML 配置时注入单表 SQL 操作 ,为简化开发工作、提高生产率而生。 Maven 坐标 http://search.maven.org/#search%7Cga%7C1%7Cmybatis-plus com.baomidou mybatis-plus maven 官方最新版本号为
MyBatis 的分页功能是基于内存的分页,即先查询出所有记录,再按起始位置和页面容量取出结果。 本节我们为查询网站记录增加分页功能,要求结果列表按照 id 升序排列(本节示例基于《 第一个MyBatis程序》一节的代码实现)。 WebsiteMapper 中方法如下。 相比原来的 selectWebsite 方法,增加了两个参数,起始位置(from)和页面容量(pageSize),用于实现分页查
本文向大家介绍mybatis插件pageHelper实现分页效果,包括了mybatis插件pageHelper实现分页效果的使用技巧和注意事项,需要的朋友参考一下 最近做的一个项目在持久层我们采用的是Mybatis今天完成了商品列表的分页查询的功能,这篇博客我分享一下如何采用pageHelper的插件实现分页。mybatis的应用,最大的好处就在于我们可以更加方便灵活的编写我们的sql语句,实现对
本文向大家介绍Spring Mybatis 分页插件使用教程,包括了Spring Mybatis 分页插件使用教程的使用技巧和注意事项,需要的朋友参考一下 Mybatis分页切入点 Mybatis内部有个plugins(插件)概念,本质上属于拦截器的思想。具体的解析可见他文MyBatis拦截器原理探究。本文将在此基础上直接展示实际项目的实现代码和其他的相关解析 分页具体代码实现 首先我们可以定义方
1.介绍: MyBatis generator plus 基于mybatis-generator-core v.1.3.2 扩展,增加如下主要特性: 1.生成支持Oracle、Mysql、Sqlserver分页查询的代码: //分页查询demoOperateLogExample relationshipsExample = new OperateLogExample();relationships
本文向大家介绍Java简单实现SpringMVC+MyBatis分页插件,包括了Java简单实现SpringMVC+MyBatis分页插件的使用技巧和注意事项,需要的朋友参考一下 1.封装分页Page类 2.封装分页插件 3.MyBatis配置文件:mybatis-config.xml 4.分页拦截器 5.Spring配置 6.SpringMVC配置拦截器