第一步:封装分页bean
public class PaginationVO implements Serializable{
private static final long serialVersionUID = 1L;
private Integer page;//对应easyui页面的page
private Integer rows;//对应easyui页面的rows
private Integer begNum;
private Integer endNum;
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public Integer getRows() {
return rows;
}
public void setRows(Integer rows) {
this.rows = rows;
}
/**
* 返回 begNum 的值
* @return begNum
*/
public Integer getBegNum() {
return begNum;
}
/**
* 设置 begNum 的值
* @param begNum begNum
*/
public void setBegNum(Integer page, Integer rows) {
this.begNum = (page - 1) * rows;
}
/**
* 返回 endNum 的值
* @return endNum
*/
public Integer getEndNum() {
return endNum;
}
/**
* 设置 endNum 的值
* @param endNum endNum
*/
public void setEndNum(Integer endNum) {
this.endNum = endNum;
}
/**
*
* 描述 设置分页数据
*/
public void setPaginationData() {
this.begNum = (page - 1) * rows;
this.endNum = rows;
}
}
第二步:业务vo继承上面的类
public class FormInfoVO extends PaginationVO{...}
第三步:调用
json =new GridListJson();
try {
instance.setPaginationData();
json.setRows(userService.findUserList(instance));
json.setTotal(userService.getUserTotal(instance));
第四步:page.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="page">
<sql id="pageBegin">
SELECT A.* FROM (
</sql>
<sql id="pageEnd">
) A LIMIT #{begNum}, #{endNum}
</sql>
<sql id="pageCount">
SELECT count(1) as cnt
</sql>
</mapper>
第五步:UserManaMapper.xml业务映射文件调用分页组件
<select id="findUserList" parameterType="userVO"
resultMap="BaseResultMap">
<include refid="page.pageBegin" /> <!--分页组件调用 前缀-->
select * from t_user
<include refid="page.pageEnd" /><!--分页组件调用 后缀-->
</select>
mybatis中加入对上面两个映射文件的配置
<mappers>
<mapper resource="mybatis/page.xml"></mapper>
<mapper resource="mybatis/UserManaMapper.xml"/>
</mappers>
前台说明:
<table id="tt" class="easyui-datagrid" style="width:600px;height:250px"
url="datagrid2_getdata.php"
title="Load Data" iconCls="icon-save"
rownumbers="true" pagination="true">
<thead>
<tr>
<th field="userid" width="80">user ID</th>
<th field="name" width="80">user name</th>
</tr>
</thead>
</table>
我们定义datagrid的datagrid和设置'pagination'属性为true,它将生成一个分页工具栏在datagrid的底部pagination将发送2个参数到服务器:
page: 页码,起始值 1.
rows: 每页显示行
public class PaginationVO implements Serializable{
private static final long serialVersionUID = 1L;
private Integer page;//对应easyui页面的page
private Integer rows;//对应easyui页面的rows
private Integer begNum;
private Integer endNum;
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public Integer getRows() {
return rows;
}
public void setRows(Integer rows) {
this.rows = rows;
}
/**
* 返回 begNum 的值
* @return begNum
*/
public Integer getBegNum() {
return begNum;
}
/**
* 设置 begNum 的值
* @param begNum begNum
*/
public void setBegNum(Integer page, Integer rows) {
this.begNum = (page - 1) * rows;
}
/**
* 返回 endNum 的值
* @return endNum
*/
public Integer getEndNum() {
return endNum;
}
/**
* 设置 endNum 的值
* @param endNum endNum
*/
public void setEndNum(Integer endNum) {
this.endNum = endNum;
}
/**
*
* 描述 设置分页数据
*/
public void setPaginationData() {
this.begNum = (page - 1) * rows;
this.endNum = rows;
}
}
第二步:业务vo继承上面的类
public class FormInfoVO extends PaginationVO{...}
第三步:调用
json =new GridListJson();
try {
instance.setPaginationData();
json.setRows(userService.findUserList(instance));
json.setTotal(userService.getUserTotal(instance));
第四步:page.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="page">
<sql id="pageBegin">
SELECT A.* FROM (
</sql>
<sql id="pageEnd">
) A LIMIT #{begNum}, #{endNum}
</sql>
<sql id="pageCount">
SELECT count(1) as cnt
</sql>
</mapper>
第五步:UserManaMapper.xml业务映射文件调用分页组件
<select id="findUserList" parameterType="userVO"
resultMap="BaseResultMap">
<include refid="page.pageBegin" /> <!--分页组件调用 前缀-->
select * from t_user
<include refid="page.pageEnd" /><!--分页组件调用 后缀-->
</select>
mybatis中加入对上面两个映射文件的配置
<mappers>
<mapper resource="mybatis/page.xml"></mapper>
<mapper resource="mybatis/UserManaMapper.xml"/>
</mappers>
前台说明:
<table id="tt" class="easyui-datagrid" style="width:600px;height:250px"
url="datagrid2_getdata.php"
title="Load Data" iconCls="icon-save"
rownumbers="true" pagination="true">
<thead>
<tr>
<th field="userid" width="80">user ID</th>
<th field="name" width="80">user name</th>
</tr>
</thead>
</table>
我们定义datagrid的datagrid和设置'pagination'属性为true,它将生成一个分页工具栏在datagrid的底部pagination将发送2个参数到服务器:
page: 页码,起始值 1.
rows: 每页显示行