在java中如何做到分页

1.先创建一个UserInfo的封装类

public class UserInfo {
	private int id;
	private String name;
	private String mobile;
	private String address;
	
	public UserInfo(int id, String name, String mobile, String address) {
		super();
		this.id = id;
		this.name = name;
		this.mobile = mobile;
		this.address = address;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getMobile() {
		return mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	@Override
	public String toString() {
		return "id=" + id + ", name=" + name + ", mobile=" + mobile + ", address=" + address;
	}
	
}

2.再创建一个Page类

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import club.yxy.jdbc.DBUtil;
import club.yxy.jdbc.IRowMapper;
import club.yxy.util.UserInfo;



public class Page {

	public static void main(String[] args) {
		Scanner scanner =new Scanner(System.in);
		System.out.println("请输入页码:");
		int pageNo=scanner.nextInt();
		int pageSize=3;
		class RowMapper implements IRowMapper{
			
			List<UserInfo> list = new ArrayList<UserInfo>();
			public void rowMapper(ResultSet resultSet) {
				try {
					while (resultSet.next()) {
						list.add(new UserInfo(resultSet.getInt("id"), resultSet.getString("name"), resultSet.getString("mobile"), resultSet.getString("address")));
					}
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
		RowMapper rowMapper =new RowMapper();
		String sql="select * from user_info limit "+(pageNo-1)*pageSize+","+pageSize;
		DBUtil.select(sql, rowMapper);
		for(UserInfo userInfo: rowMapper.list) {
			System.out.println(userInfo);
		}

	}

}

此处也有略为的错误,当输入0时,不错存在的(数学知识哦)

此博客省略了本人的jdbc工具类,如有使用私信即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值