mybatis如何做分页处理
1.首先根据自己实际需求编写实体类
- import java.io.Serializable;
- public class User implements Serializable{ //最好将该实体类序列化
- private static final long serialVersionUID = 1L;
- private Integer id;
- private String name;
- private String birthday;
- private String gender;
- private String career;
- private String address;
- private String mobile;
- private String picPath;
- public User() {
- }
- public User(Integer id, String name, String birthday, String gender, String career, String address, String mobile,
- String picPath) {
- this.id = id;
- this.name = name;
- this.birthday = birthday;
- this.gender = gender;
- this.career = career;
- this.address = address;
- this.mobile = mobile;
- this.picPath = picPath;
- }
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getBirthday() {
- return birthday;
- }
- public void setBirthday(String birthday) {
- this.birthday = birthday;
- }
- public String getGender() {
- return gender;
- }
- public void setGender(String gender) {
- this.gender = gender;
- }
- public String getCareer() {
- return career;
- }
- public void setCareer(String career) {
- this.career = career;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
- public String getMobile() {
- return mobile;
- }
- public void setMobile(String mobile) {
- this.mobile = mobile;
- }
- public String getPicPath() {
- return picPath;
- }
- public void setPicPath(String picPath) {
- this.picPath = picPath;
- }
- @Override
- public String toString() {
- return "User [id=" + id + ", name=" + name + ", birthday=" + birthday + ", gender=" + gender + ", career="
- + career + ", address=" + address + ", mobile=" + mobile + ", picPath=" + picPath + "
- + "]";
- }
- }
2.编写分页所需要的通用bean,这是关键的一步。如果你用的是easyUI框架写的管理系统,currPage,PageSize,total,totalPage,rows这几个参数是必须的。
- import java.util.List;
- public class PageNationBean<T> {
- //请求参数
- private Integer currPage=1;//当前页
- private Integer PageSize=10;//页面数据条数
- //响应数据
- private Integer total; //数据的总记录数
- private Integer totalPage;//总页数
- private List<T> rows;
- public PageNationBean() {
- }
- public PageNationBean(Integer currPage, Integer pageSize, Integer total, Integer totalPage, List<T> rows) {
- this.currPage = currPage;
- this.PageSize = pageSize;
- this.total = total;
- this.totalPage = totalPage;
- this.rows = rows;
- }
- public Integer getCurrPage() {
- return currPage;
- }
- public void setCurrPage(Integer currPage) {
- this.currPage = currPage;
- }
- public Integer getPageSize() {
- return PageSize;
- }
- public void setPageSize(Integer pageSize) {
- PageSize = pageSize;
- }
- public Integer getTotal() {
- return total;
- }
- public void setTotal(Integer total) {
- this.total = total;
- }
- public Integer getTotalPage() {
- return totalPage;
- }
- public void setTotalPage(Integer totalPage) {
- this.totalPage = totalPage;
- }
- public List<T> getRows() {
- return rows;
- }
- public void setRows(List<T> rows) {
- this.rows = rows;
- }
- @Override
- public String toString() {
- return "\n\tPageNationBean [currPage=" + currPage + ", PageSize=" + PageSize + ", total=" + total + ", totalPage="
- + totalPage + ", rows=" + rows + "]";
- }
- }
3.数据库中建好需要测试的表,插入一定量的数据是肯定的
4.编写映射接口
- public interface UserMapper {
- PageNationBean<User> getUsersByPagenation(PageNationBean<User> userBean);
- }
5.编写映射所需的xml配置文件
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <!-- 命名空间与映射接口的全类名一致 -->
- <mapper namespace="com.yc.us.mapper.UserMapper">
- <resultMap type="PageNationBean" id="PageNationBeanMap">
- <result column="pageSize" property="pageSize"/>
- <result column="currPage" property="currPage"/>
- <collection property="rows" column="{pageSize=pageSize,currPage=currPage}" select="getUsers"/>
- </resultMap>
- <!-- #是采用占用符 $是直接取到值 -->
- <select id="getUsersByPagenation" parameterType="PageNationBean" resultMap="PageNationBeanMap">
- select count(1) total,ceil(count(1)/${pageSize}) totalPage,${pageSize} pageSize,${currPage} currPage from profile
- </select>
- <select id="getUsers" resultType="User">
- select * from
- (select m.*,rownum rn from
- (select * from profile) m where ${currPage}*${pageSize} >=rownum)
- where rn > (${currPage}-1)*${pageSize}
- </select>
- </mapper>
6.根据自己实际需求写一个测试类,进行实际测试
mybatis如何做分页处理的更多相关文章
- Mybatis Generator实现分页功能
Mybatis Generator实现分页功能 分类: IBATIS2013-07-17 17:03 882人阅读 评论(1) 收藏 举报 mybatisibatisgeneratorpage分页 众 ...
- Mybatis中的分页
Mybatis中有哪些分页方式? 数组分页:查询出全部数据,然后再list中截取需要的部分.(逻辑分页) 优点:效率高 缺点:占用内存比较高 sql分页:只从数据库中查询当前页的数据.(物理分 ...
- 用PHP+MySQL来做分页的演示
用php做分页弄懂逻辑关系其实不难,不过我在听课的时候估计是被老师讲的那些变量里的英文单词给听懵了,因为有几个变量的名字都很像,只是换了两三个英文字母而已,有的就少几个这样的,听到一半已经不知道老师讲 ...
- mybatis框架中分页的实现
2.分页的实现? 分页的时候考虑的问题: 分页的大小,分页的索引. 比如:分页的大小为10,分页的起始索引为1(索引从1开始) 第一页:1到10. 起始行号: (页的索引-1)*分页大小+1 结 ...
- Ajax做分页
Ajax做分页 用这种ajax做分页的方法比较简单,把代码直接复制就可以,然后根据实际更改一下里面的参数. .设置分页显示显示的样式,显示效果如下. 复制代码 <style type=" ...
- 使用PHP做分页查询(查询结果也显示为分页)
1.先把数据库里所有的数据分页显示在页面,并在显示数据的表格上方加上查询表单.(加上条件,实现目标结果.) <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...
- SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页
SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页 **SpringBoot+Mybatis使用Pagehelper分页插件自动分页,非常好用,不用在自己去计算和组装了. ...
- SpringBoot+Mybatis+PageHelper实现分页
SpringBoot+Mybatis+PageHelper实现分页 mybatis自己没有分页功能,我们可以通过PageHelper工具来实现分页,非常简单方便 第一步:添加依赖 <depend ...
- 关于使用coreseek并为其做分页的介绍(转)
coreseek 做分页时找数据总量还真不好找.以为他会给一个方法(函数)什么的去获取,结果却不是.首先需要了解:num_matches: 当前返回的结果数,<= limit设置值.max_ma ...
随机推荐
- Android stdio Apktool源码编译
Android Apktool源码编译 标签(空格分隔): Android Apktool 源码编译 需求 习惯NetBeans调试smali需要用Apktool反编译apk,需要用-d的参数才能生成 ...
- new bird in github
首次使用先要建立本地github信息: git config - -global user.name newbird git config - -global user.email newbir ...
- javascript的console.log用法
f1.html代码 <iframe id="frame2" name="frame1" src="ww.html"></i ...
- redis技巧--自动完成功能实现
自动完成功能一般都伴随搜索框出现,就是用户在输入时帮助其自动补全. 比如对成语进行补全,现有如下成语:一心一意,一心二用,一帆风顺. 两种实现方式: 实现方式一: 为每个成语的每个前缀都使用一个集合类 ...
- web.config SetAttributes
<appSettings> <add key="DomainProxy" value="http://e3api.lcsyzx.cn/api/" ...
- video.js播放mp4文件
HTML5的标签 video 支持的mp4编码为视频编码 H.264 音频AAC 参考网址 http://www.w3school.com.cn/html5/html_5_video.asp 视频格式 ...
- vim格式化代码实际上就是 "缩进代码", 命令是等号=
vim格式化代码实际上就是 "缩进代码", 命令是等号= 格式化就是 vim 根据 文件的类型, 自动的对代码进行 缩进 缩进的类型有多种, 都是用等号命令: = 全部格式化 : ...
- Redis安装测试(待完善)
1 Redis安装 在网址http://redis.io/下载redis-3.2.3.tar.gz,解压. 进入解压目录 编译和安装,具体配置项可参考自带的README.md文件 make test ...
- Spring的简单demo
---------------------------------------- 开发一个Spring的简单Demo,具体的步骤如下: 1.构造一个maven项目 2.在maven项目的pom.xml ...
- Cheat sheets