java通用分页

本文介绍了如何使用Java实现通用的分页查询功能,包括PageBean的封装、反射通用后台查询方法以及使用JUnit4进行测试。通过BaseDao和callback解决重复代码问题,简化分页代码,提高代码复用性和可维护性。
摘要由CSDN通过智能技术生成

目录

一,PageBean

二,反射通用后台查询方法

三,通用的分页后台查询方法

四,junit4


前言:通用分页的原意义:能够简化分页相关功能的开发
目的:极大优化代码

 

分页代码比较:


原有的分页代码:
1.存在大量重复分页条的HTML代码
2.将上一次的查询条件带到下一次,隐藏的from表单HTML
3.后台有大量的代码是重复的

1.按原始方式写一个查询
存在问题:①有重复代码
②分页参数不清晰
解决方案:①baseDao  ②pagebean

2.BaseDao
存在问题:
不同人调用,处理resultset方式是不一样的

解决方案:通过回调函数解决 callback

3.callback

4.通用分页
原始SQL:调用方拼装好的sql
分页sql:页面要展示数据的sql,第N也的数据
符合条件的总记录数sql:时为了拿到总录数,计算总页数

一,PageBean

首先把该有的文件放到util包里面

<如图所示>

分析:DBAccess为数据库辅助类

EncodingFiter为中文乱码处理

PageBean为分页的工具类

StringUtils为判空

1.为什么封装

方便使用

2.封装的优点

精简代码

《代码演示》

package com.dengxiyan.util;

/**
 * 分页工具类
 *
 */
public class PageBean {

	private int page = 1;// 页码

	private int rows = 10;// 页大小

	private int total = 0;// 总记录数

	private boolean pagination = true;// 是否分页

	public PageBean() {
		super();
	}

	public int getPage() {
		return page;
	}

	public void setPage(int page) {
		this.page = page;
	}

	public int getRows() {
		return rows;
	}

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

	public int getTotal() {
		return total;
	}

	public void setTotal(int total) {
		this.total = total;
	}

	public void setTotal(String total) {
		this.total = Integer.parseInt(total);
	}

	public boolean isPagination() {
		return pagination;
	}

	public void setPagination(boolean pagination) {
		this.pagination = pagination;
	}

	/**
	 * 获得起始记录的下标
	 * 
	 * @return
	 */
	public int getStartIndex() {
		return (this.page - 1) * this.rows;
	}

	@Override
	public String toString() {
		return "PageBean [page=" + page + ", rows=" + rows + ", total=" + total + ", pagination=" + pagination + "]";
	}

}

二,反射通用后台查询方法

《代码演示》

BaseDao反射类

package com.dengxiyan.util;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值