Mybatis分頁實現流程
第一步:封裝分頁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: 每頁顯示行
相關文章
- MyBatis實現分頁的方式MyBatis
- 【MyBatis框架】MyBatis實現物理分頁和邏輯(記憶體)分頁MyBatis框架記憶體
- SpringBoot 整合Mybatis + PageHelper 實現分頁Spring BootMyBatis
- Mybatis 分頁:Pagehelper + 攔截器實現MyBatis
- Mybatis原始碼分析(七)自定義快取、分頁的實現MyBatis原始碼快取
- Mybatis分頁之RowBoundsMyBatis
- elementUI實現分頁UI
- SpringBoot+Mybatis+ Druid+PageHelper 實現多資料來源並分頁Spring BootMyBatisUI
- myBatis分頁外掛配置MyBatis
- 分頁功能的實現
- mybatis plus 新增分頁外掛MyBatis
- mybatis動態sql與分頁MyBatisSQL
- web 實現分頁列印功能Web
- Java實現後端分頁Java後端
- 使用 jQuery 實現分頁功能jQuery
- PHP 使用 Redis 實現分頁PHPRedis
- 47.DRF實現分頁
- indexdb實現分頁查詢Index
- 使用LayUI實現AJAX分頁UI
- Django 前端BootCSS 實現分頁Django前端bootCSS
- 分頁實現前臺後臺不同效果,分頁類引入
- Mybatis學習-日誌與分頁MyBatis
- 分頁實現前五後五ajax區域性重新整理方式分頁實現
- uni-app之實現分頁APP
- 用AutoLayout實現分頁滾動
- 文章內容分頁功能實現
- Python | 實現pdf檔案分頁Python
- 使用mybatis分頁外掛展示首頁最新視訊MyBatis
- mybatis generator外掛系列--分頁外掛MyBatis
- mybatis的三發外掛:分頁pagehelpMyBatis
- Mybatis筆記03---ResultMap及分頁MyBatis筆記
- 【mybatis-plus】分頁、邏輯刪除MyBatis
- MyBatis——MyBatis開發流程MyBatis
- SpringMVC+Spring Data JPA +Bootstrap 分頁實現和模糊查詢分頁SpringMVCboot
- vue+Element-ui實現分頁效果VueUI
- SSM框架實現分頁查詢例子SSM框架
- django 網站實現簡單分頁Django網站
- 教你如何使用MvcPager實現分頁效果MVC
- c# winform 實現分頁查詢C#ORM