zoukankan      html  css  js  c++  java
  • 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    广东 
  • 相关阅读:
    python json 访问与字符串截取
    python 12306 车次数据获取
    12306 城市代码 切片技巧
    python 9*9 乘法表
    python 列表转为字典的两个小方法
    python 三种遍历列表里面序号和值的方法
    虚拟机中访问连接在物理机上的摄像机(使用桥接)
    C++程序调用python3
    Notepad++编写运行python程序
    查看进程被哪台电脑的哪个进程连接(netstat)
  • 原文地址:https://www.cnblogs.com/claricre/p/6262228.html
Copyright © 2011-2022 走看看