-
mybatis 如何分页
- 时间:2024-11-23 01:27:03
大家好,今天Win10系统之家小编给大家分享「mybatis 如何分页」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!
生意如何小账本专业版-小商户销售和存货记账系列软件最新版本下载
1.mybatis 自动生成分页怎么用
针对上述思路,首先在 demo.mybatis.model下面新建一个名为PagenateArgs的分页参数实体类与一个名为SortDirectionEnum的枚举 类,里面包含当前页面索引pageIndex, 当前页展示业务记录数pageSize, pageStart属性表示从第几条开始,(pageStart=pageIndex*pageSize)因为limit关键词用法是表示【limit 起始条数(不包含),取几条】,orderFieldStr排序字段,orderDirectionStr 排序方向,所以具体创建如下:
package david.mybatis.model;/* * 分页参数实体类 */public class PagenateArgs { private int pageIndex; private int pageSize; private int pageStart; private String orderFieldStr; private String orderDirectionStr; public PagenateArgs() { // TODO Auto-generated constructor stub } public PagenateArgs(int pageIndex, int pageSize, String orderFieldStr, String orderDirectionStr) { this.pageIndex = pageIndex; this.pageSize = pageSize; this.orderFieldStr = orderFieldStr; this.orderDirectionStr = orderDirectionStr; pageStart = pageIndex * pageSize; } public int getPageIndex() { return pageIndex; } public int getPageStart() { return pageStart; } public int getPageSize() { return pageSize; } public String orderFieldStr() { return orderFieldStr; } public String getOrderDirectionStr() { return orderDirectionStr; }}
package david.mybatis.model;/* * 排序枚举 */public enum SortDirectionEnum { /* * 升序 */ ASC, /* * 降序 */ DESC}
完成上面的步骤以后在IVisitorOperation接口类中继续添加一个方法public List getListByPagenate(PagenateArgs args),这次的分页其实也就是在这个的基础上稍加改动即可,IVisitorOperation接口类 改动后如下所示:
package david.mybatis.demo;import java.util.List;import david.mybatis.model.PagenateArgs;import david.mybatis.model.Visitor;import david.mybatis.model.VisitorWithRn;public interface IVisitorOperation { /* * 基础查询 */ public Visitor basicQuery(int id); /* * 添加访问者 */ public int add(Visitor visitor); /* * 删除访问者 */ public int delete(int id); /* * 更新访问者 */ public int update(Visitor visitor); /* * 查询访问者 */ public Visitor query(int id); /* * 查询List */ public List getList(); /* * 分页查询List */ public List getListByPagenate(PagenateArgs args); }
接下来改动VisitorMapper.xml配置文件了,新增一个节点id与参数类型参照前几章的方式配置好,如下此处新增的id就为getListByPagenate,配置好以后如下
insert into Visitor (Name, Email, Status, CreateTime) values (#{name}, #{email}, #{status}, #{createTime}) delete from Visitor where status>0 and id = #{id} update Visitor set Name = #{name}, Email=#{email}, Status=#{status} where id=#{id} and Status>0; select Id, Name, Email, Status, CreateTime from visitor where id=#{id} and Status>0 order by Id select * from visitor where id=#{id} and Status>0 order by Id select * from Visitor where status>0 select * from ( ) t limit #{pageStart}, #{pageSize} order by ${orderFieldStr} ${orderDirectionStr}
这里面的字段属性都是针对PagenateArgs参数类中的属性名,保持一致。
limit #{pageStart}, #{pageSize}
在DemoRun类中创建测试方法:
/* * 分页参数 */public static void queryVisitorListWithPagenate(int pageIndex, int pageSize, String orderField, String orderDire) { PagenateArgs args = new PagenateArgs(pageIndex, pageSize, orderField, orderDire); SqlSession session = MybatisUtils.getSqlSession(); IVisitorOperation vOperation = session.getMapper(IVisitorOperation.class); List visitors = vOperation.getListByPagenate(args); for (Visitor visitor : visitors) { System.out.println(visitor); } MybatisUtils.closeSession(session); MybatisUtils.showMessages(CRUD_Enum.List, visitors.size());}
DemoRun.queryVisitorListWithPagenate(0, 100, "id", SortDirectionEnum.DESC.toString());
运行后下测试结果,先按Id倒序排列,查的Visitor表一共有14条记录,
假设取在第2页取5条,执行下面也就是6-10条数据,这样传参数就行了
DemoRun.queryVisitorListWithPagenate(1, 5, "id", SortDirectionEnum.DESC.toString());
以上就是关于「mybatis 如何分页」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~
『Win10系统之家独家♂使②用!』
上一篇:如何增加c盘的容量 下一篇:u盘如何解除密码保护
相关文章
-
1.mybatis自动生成分页怎么用针对上述思路,首先在demo.mybatis.model下面新建一个名为PagenateArgs的分页参数实体类与一个名为SortDirectionEnum的枚举类,里面包含当前页面索引pageIndex,当前页展示业务记录数pageS...
-
1.如何插入页码(分页符)分页符前后的页眉页脚是一样的,分节符前后才有可能不一样分节符后面的页眉页脚一般都是默认继承前面的格式的,当然可以取消“链接到前一个”然后修改后面的格式,这样前后就不一样了对你说情况,...
-
1.excel表分页怎么设置经常在Excel中制作表格时,我们不可能仅仅只作一个表格,有时可能会在一个工作簿中制作多个表格。但我们又希望将所有的表格分别打印到每一张纸上面,每张纸上面只打印一个表格,那么,我们应该如何...
-
1.word文档中如何设置分页?中文单词2000分页技巧-当我们使用电脑进行文字处理时,各种文字处理软件都会根据用户设定的页面大小自动分页,以美化文档的视觉效果,简化用户的操作。但是系统自动分页的结果并不一定符合用...