Java分页内容实例详解

首先定义一个fruit表,表里含有很多数据:

定义一个数据文件:

public class Fruit {
    public String getIds() {
        return ids;
    }
    public void setIds(String ids) {
        this.ids = ids;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public String getSource() {
        return source;
    }
    public void setSource(String source) {
        this.source = source;
    }
    public int getNumbers() {
        return numbers;
    }
    public void setNumbers(int numbers) {
        this.numbers = numbers;
    }
    public String getImage() {
        return image;
    }
    public void setImage(String image) {
        this.image = image;
    }
    private String ids;
    private String name;
    private double price;
    private String source;
    private int numbers;
    private String image;
}

定义一个数据连接访问:

import java.sql.*;
import java.util.*;
public class DBConnection {
    private static String drv="com.mysql.jdbc.Driver";
    private static String url="jdbc:mysql://127.0.0.1:3306/mydb?characterEncoding=GBK";
    private static String uid="root";
    private static String pwd="";
    public static Connection getConnection() throws Exception{
        Class.forName(drv);
        Connection conn = DriverManager.getConnection(url,uid,pwd);
        return conn;
    }
}
import java.util.*;
import java.sql.*;
public class FruitDao {
    private Connection conn;
    private PreparedStatement stat;
    private ResultSet rs;

    public FruitDao() throws Exception{
        conn = DBConnection.getConnection();
    }
    //返回总页数
    public int getPageCount(int pageSize) throws Exception{
        int pageCount = 0;
        //求总行数    rowCount
        String sql = "select count(*) from fruit";
        stat = conn.prepareStatement(sql);
        rs = stat.executeQuery();
        rs.next();
        int rowCount = rs.getInt(1);
        //求总页数    pageCount = (rowCount/pageSize)--进位
        pageCount = (int)Math.ceil( 1.0*rowCount/pageSize);
        conn.close();
        return pageCount;
    }
    //返回指定页的数据
    public ArrayList<Fruit> select(int pageSize,int pageNo) throws Exception{
        ArrayList<Fruit> list = new ArrayList<Fruit>();
        String sql = "select * from fruit limit ?,?";    //select TOP 2 * from Fruit where Ids NOT IN (SELECT TOP 4 Ids from fruit)   这是sqlserver的分页语句
        stat = conn.prepareStatement(sql);
        stat.setInt(1, (pageNo-1)*pageSize);
        stat.setInt(2, pageSize);

        rs = stat.executeQuery();

        while(rs.next()){
            Fruit data = new Fruit();
            data.setIds(rs.getString(1));
            data.setName(rs.getString(2));
            data.setPrice(rs.getDouble(3));
            data.setSource(rs.getString(4));
            data.setNumbers(rs.getInt(5));
            data.setImage(rs.getString(6));
            list.add(data);
        }
        conn.close();

        return list;
    }
    //增删改查的方法....略
}

然后是界面文件:

import java.awt.print.Pageable;
import java.util.*;
public class Test {
    private static final int PAGESIZE=2;
    public static void main(String[] args) throws Exception {
        int pageCount = new FruitDao().getPageCount(PAGESIZE);
        System.out.println("一共"+pageCount+"页,每页"+PAGESIZE+"个");

        ArrayList<Fruit> list = new FruitDao().select(PAGESIZE, 1);

        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i).getIds()+" "+list.get(i).getName()+list.get(i).getPrice()+list.get(i).getSource());
        }

    }

}

输出结果为:

一共4页,每页2个

k001 苹果 2.4 烟台
k002    菠萝    1.4    广东 
时间: 2024-10-07 15:22:42

Java分页内容实例详解的相关文章

java JVM 参数实例详解

http://www.pinterest.com/fjjrn/%E8%BE%BD%E9%98%B3%E6%89%BE%E5%B0%8F%E5%A7%90/ http://www.pinterest.com/99f99pn9j9/%E9%93%81%E5%B2%AD%E6%89%BE%E5%B0%8F%E5%A7%90/ http://www.pinterest.com/fbbhjz/%E8%90%A5%E5%8F%A3%E6%89%BE%E5%B0%8F%E5%A7%90/ http://www

Java开发之I/O读取文件实例详解

在java开发或者android开发中,读取文件是不可避免的,以下对java开发中读取文件做了归纳和详解: 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fileName) { File file = new File(fileN

java网页爬虫简单实例详解——获取天气预报。

[本文介绍] 爬取别人网页上的内容,听上似乎很有趣的样子,只要几步,就可以获取到力所不能及的东西,例如呢?例如天气预报,总不能自己拿着仪器去测吧!当然,要获取天气预报还是用webService好.这里只是举个例子.话不多说了,上看看效果吧. [效果] 我们随便找个天气预报的网站来试试:http://www.weather.com.cn/html/weather/101280101.shtml 从图中可用看出,今天(6日)的天气.我们就以这个为例,获取今天的天气吧! 最终后台打印出: 今天:6日

Java的位运算符详解实例

Java的位运算符详解实例——与(&).非(~).或(|).异或(^).右移(>>).左移(<<).无符号右移(>>>) 位运算符主要针对二进制, 它包括了:“与”.“非”.“或”.“异或”."右移"."左移"."无符号右移". 从表面上看似乎有点像逻辑运算符, 但逻辑运算符是针对两个关系运算符来进行逻辑运算, 而位运算符主要针对两个二进制数的位进行逻辑运算. 下面详细介绍每个位运算符. 1.与运

《HTML 5网页开发实例详解》样章、内容简介、前言

http://spu.jd.com/1167757597.html http://product.dangdang.com/23484942.html 样章 http://download.csdn.net/download/hdzn0603/7421803 内容简介 <HTML 5网页开发实例详解>从实际的应用场景出发,结合当下的热门技术,深入浅出地介绍了 HTML 5所包含的各项新技术.本书分为 14章.第 1~4章介绍了 HTML 5和浏览器的发展史. HTML 5新特性的使用,最新的前

[转]Java的位运算符详解实例——与(&amp;)、非(~)、或(|)、异或(^)

位运算符主要针对二进制,它包括了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.下面详细介绍每个位运算符. 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段.public class data13{public static void main(String[] args){int a=129;int b=128

事件驱动模型实例详解(Java篇)

或许每个软件从业者都有从学习控制台应用程序到学习可视化编程的转变过程,控制台应用程序的优点在于可以方便的练习某个语言的语法和开发习惯(如.net和java),而可视化编程的学习又可以非常方便开发出各类人机对话界面(HMI).可视化编程或许是一个初学者开始对软件感兴趣的开始,也可能是一个软件学习的里程碑点,因为我们可以使用各类软件集成开发环境(IDE)方便的在现成的界面窗口上拖放各类组件(Component),这类组件包括我们常见的按钮(Button),单选按钮(Radio Button),复选框

java 流操作对文件的分割和合并的实例详解_java - JAVA

文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 java 流操作对文件的分割和合并的实例详解 学习文件的输入输出流,自己做一个小的示例,对文件进行分割和合并. 下面是代码: package com.dufy.file; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import jav

这个贴子的内容值得好好学习--实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化

感觉要DJANGO用得好,ORM必须要学好,不管理是内置的,还是第三方的ORM. 最最后还是要到SQL.....:( 这一关,慢慢练啦.. 实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化 http://blog.jobbole.com/75435/