mybatis+mysql怎么分页查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis+mysql怎么分页查询相关的知识,希望对你有一定的参考价值。

package cn.tsjinrong.fastfile.util;

/**
* @ClassName: Page
* @Description: TODO(分页组件的父类,用来封装分页的 通用内容和逻辑)
* @author zhanghaiyang
* @date 2016年1月14日 下午12:37:55
* @Copyright © 2016上海通善互联网金融信息服务有限公司
*/
public class Page

// 用户输入的分页条件
private int currentPage = 1; // 当前页
private int pageSize = 15; // 每页最大行数

// 用于实现分页SQL的条件,是根据用户输入条件计算而来的
private int begin;
private int end;

// 自动计算出的总行数
private int rows;
// 根据总行数计算总页数,然后将总页数输出给页面
private int totalPage;

public int getRows()
return rows;


public void setRows(int rows)
this.rows = rows;


public int getTotalPage()
// 根据总行数,计算总页数
if (rows % pageSize == 0)
totalPage = rows / pageSize;
else
totalPage = rows / pageSize + 1;

return totalPage;


public void setTotalPage(int totalPage)
this.totalPage = totalPage;


public int getBegin()
// 在mapper.xml使用begin属性时,对其进行计算
begin = (currentPage - 1) * pageSize;
return begin;


public void setBegin(int begin)
this.begin = begin;


public int getEnd()
// 在mapper.xml使用end属性时,对其进行计算
end = currentPage * pageSize + 1;
return end;


public void setEnd(int end)
this.end = end;


public int getCurrentPage()
return currentPage;


public void setCurrentPage(int currentPage)
this.currentPage = currentPage;


public int getPageSize()
return pageSize;


public void setPageSize(int pageSize)
this.pageSize = pageSize;



public ModelAndView findVideosByPage(HttpServletRequest request, HttpServletResponse response, FileProperties fp)

ModelAndView model = new ModelAndView("/video/video_list");
Map<String, Object> params = new HashMap<String, Object>(3);
if (StringUtils.isNotBlank(fp.getBusiId()))
params.put("busiId", fp.getBusiId());

if (StringUtils.isNotBlank(fp.getApplyName()))
params.put("applyName", fp.getApplyName());

if (fp.getApplyDateStart() != null && StringUtils.isNotBlank(fp.getApplyDateStart()))
params.put("applyDateStart", DateUtil.parseDate(fp.getApplyDateStart()));
else
params.put("applyDateStart", DateUtil.addDay(new Date(), -7));

if (fp.getApplyDateEnd() != null && StringUtils.isNotBlank(fp.getApplyDateEnd()))
params.put("applyDateEnd", DateUtil.parseDate(fp.getApplyDateEnd()));
else
params.put("applyDateEnd", DateUtil.format(new Date()));

fp.setRows(fastfileVideoService.selectRows(params));
model.addObject("fastfileVideoInfoPage", fp);
List<FastfileVideoInfo> fastfileVideoInfos = fastfileVideoService.selectByPage(fp);
model.addObject("fastfileVideoInfos", fastfileVideoInfos);
model.addObject("applyDateStart", DateUtil.format(DateUtil.addDay(new Date(), -7)));
model.addObject("applyDateEnd", DateUtil.format(new Date()));
return model;

<select id="selectByPage" resultMap="BaseResultMap" parameterType="cn.tsjinrong.fastfile.util.FileProperties">
select
<include refid="Base_Column_List" />
from fastfile_video_info where 1=1
<if test="busiId != null and busiId !=''">
and busi_id = #busiId,jdbcType=VARCHAR
</if>
<if test="applyName != null and applyName !=''">
and apply_name=#applyName,jdbcType=VARCHAR
</if>
<if test="applyDateStart != null and applyDateStart !=''">
and apply_date >= #applyDateStart,jdbcType=DATE
</if>
<if test="applyDateEnd != null and applyDateEnd !=''">
and apply_date <= #applyDateEnd,jdbcType=DATE
</if>
and del_flag = 0
order by apply_date desc limit #beginRow,#pageSize
</select>
参考技术A 怎么分页查询

以上是关于mybatis+mysql怎么分页查询的主要内容,如果未能解决你的问题,请参考以下文章

mybatis+mysql怎么分页查询

mybatis分页查询怎么做

java mybatis 分页模糊查询页面怎么写

Mybatis分页查询及日期比较

mysql 分表分页查询解决思路

mybatis一对多分页查询