java的分页

一、java的分页

将从数据库查询到的数据分成不同的几页提供给用户查看。
首先是连接数据库和从数据库中获取数据。
代码:

 public static Connection getConnection(){
        Connection connection=null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/nbcj?useSSL=true&characterEncoding=utf-8&user=root&password=123456");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return connection;
    }
public int getcount() throws SQLException {
        Connection connection=DBUtil.getConnection();
        PreparedStatement statement=connection.prepareStatement("select count(*) from music");
        ResultSet resultSet=statement.executeQuery();
        int count=0;
        while(resultSet.next()){
            count=resultSet.getInt(1);
        }
        DBUtil.close(connection,statement,resultSet);
        return count;
    }

还有要新建一个class,是为了将查询到的有几条数据存放到一个类里面进行封装。
代码:

public class PageBean<T> {
    private  int currentPage;
    private int pageSize;
    private List<T> music;
    private int totalCount;
    private  int totalPage;

    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 List<T> getMusic() {
        return music;
    }

    public void setMusic(List<T> music) {
        this.music = music;
    }

    public int getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(int totalCount) {
        this.totalCount = totalCount;
    }

    public int getTotalPage() {
        return totalPage;
    }

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

    @Override
    public String toString() {
        return "PageBean{" +
                "currentPage=" + currentPage +
                ", pageSize=" + pageSize +
                ", music=" + music +
                ", totalCount=" + totalCount +
                ", totalPage=" + totalPage +
                '}';
    }
}

然后接下来就要将数据进行分页了
代码:

int count = musicDao.getCount();
pageBean.setTotalCount(count);
double ceil = Math.ceil(count / 5.0);//12  5   2.4    3   2  2  2.1  3
int totalPage= (int) ceil;
pageBean.setTotalPage(totalPage);
System.out.println("请问你要查询第几页:我们一共有"+totalPage+"页");
int i=input.nextInt();
List<Music> music1 = getMusic(i, totalPage, musicDao);
System.out.println("下一步还要做什么:\t1.上一页 \t2.下一页 \t3.退出");
int i1 = input.nextInt();
switch (i1){
        case 1:
             if(i==1){
                    getMusic(1, totalPage, musicDao);
             }else{
                    getMusic(i-1, totalPage, musicDao);
             }
            break;
         case 2:
             if(i==totalPage){
                    getMusic(totalPage,totalPage,musicDao);
             }else {
                    getMusic(i+1,totalPage,musicDao);
             }
             break;
           case 3:
                 System.exit(0);
             break;
 }

这样分页就可以做好了,想要上下页可以直接在用户输入的页数上进行加减。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值