MyBatis学习总结(12)——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 &gt;= #{applyDateStart,jdbcType=DATE}
</if>
<if test="applyDateEnd != null and applyDateEnd !=''">
and apply_date &lt;= #{applyDateEnd,jdbcType=DATE}
</if>
and del_flag = 0
order by apply_date desc limit #{beginRow},#{pageSize}
</select>

转载于:https://www.cnblogs.com/zhanghaiyang/p/7213258.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于这个问题,需要先了解什么是Spring Boot、MyBatis-Plus、Ajax、Layui和MySQL,然后再利用它们实现员工的登录注册功能。 1. Spring Boot是一个开源的Java框架,用于构建Spring应用程序。它采用“约定优于配置”的原则,能够快速地构建可独立运行的、生产级别的Spring应用程序。 2. MyBatis-Plus是MyBatis的一个增强工具包。它提供了很多便利的功能,例如代码生成器、分页插件、性能分析插件等,可以减轻开发人员的工作量。 3. Ajax是一种Web开发技术,可以用于在不重新加载整个页面的情况下更新部分页面。它能够提高用户体验,并减少服务器端的负载。 4. Layui是一款轻量级的前端UI框架,提供了丰富的组件和模板,可以快速地构建美观、实用的Web界面。 5. MySQL是一种关系型数据库管理系统,它采用了SQL语言来操作数据库。它是最流行的开源数据库之一,被广泛应用于Web开发领域。 基于以上技术,可以实现员工的登录注册功能。 1. 使用Spring Boot和MyBatis-Plus构建后端API。在员工表中添加用户名和密码字段,编写登录和注册接口,使用MyBatis-Plus的代码生成器来生成数据库访问层的代码。 2. 使用Ajax来实现前端与后端的异步通信。当员工填写了用户名和密码后,通过Ajax提交给后端,后端进行验证并返回结果。如果验证通过,前端跳转到主页面,否则给出相应的错误提示。 3. 使用Layui来实现前端页面的美化。根据设计图,使用Layui的组件和模板来构建登录和注册页面。为了提高用户体验,可以使用Layui的表单验证组件来对输入内容进行验证。 4. 使用MySQL来存储员工的信息。在员工表中添加用户名和密码字段,使用MySQL提供的用户名和密码验证功能来进行验证。 最后,需要将后端API部署到服务器上,并将前端页面部署到Web服务器上,使用户可以访问到。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值