java框架(3)分页查询

本文介绍了使用Java进行分页查询的实现方法,包括文件结构、公共类如PageParam和PageResult的详细说明,以及在UserDao、UserService和UserController中的应用示例。
摘要由CSDN通过智能技术生成

1.文件结构
文件结构
2.公共类:
PageParam.java

package util;

public class PageParam {
	private int page = 1;
	private int rows = 10;

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

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

	public int getFirst() {
		return (page - 1) * rows;
	}

	public int getMax() {
		return rows;
	}
}

PageResult.java

package util;

import java.util.List;

public class PageResult {
	private Number total;
	private List rows;

	public PageResult(Number total, List rows) {
		this.total = total;
		this.rows = rows;
	}

	public Number getTotal() {
		return total;
	}

	public List getRows() {
		return rows;
	}

}

3.示例:
UserDao.java

package dao;

import java.util.List;

import org.springframework.stereotype.Component;

import entity.User;
import util.PageParam;
import util.PageResult;

@Component
public class UserDao extends BaseDao {

	public PageResult page(PageParam param) {
		String sql = "select count(*) from spring_orm_user";
		Number total = queryForNumber(sql);
		String sql2 = "select id,name from spring_orm_user limit ?,?";
		List rows = queryForList(sql2, param.getFirst(), param.getMax());
		return new PageResult(total, rows);
	}
	
	//其它代码

}

UserService.java

package service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import dao.UserDao;
import entity.User;
import util.PageParam;
import util.PageResult;

@Component
public class UserService {
	@Autowired
	private UserDao userDao;

	public PageResult page(PageParam param) {
		return userDao.page(param);
	}

	//其它代码

}

UserController.java

package controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import entity.User;
import service.UserService;
import util.PageParam;
import util.PageResult;

@Controller
@RequestMapping("/user")
public class UserController {
	@Autowired
	private UserService userService;

	@RequestMapping("/page.do")
	@ResponseBody
	public PageResult page(PageParam param) {
		return userService.page(param);
	}

	//其它代码

}

over.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值