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 广东
Java分页内容实例详解的更多相关文章
- Java中JSON字符串与java对象的互换实例详解
这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...
- Java中JSON字符串与java对象的互换实例详解(转)
http://www.jb51.net/article/90914.htm 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要 ...
- 我的书籍《深入解析Java编译器:源码剖析与实例详解》就要出版了
一个十足的技术迷,2013年毕业,做过ERP.游戏.计算广告,在大公司呆过,但终究不满足仅对技术的应用,在2018年末离开了公司,全职写了一本书<深入解析Java编译器:源码剖析与实例详解> ...
- java中List的用法和实例详解
java中List的用法和实例详解 List的用法List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供 ...
- 事件驱动模型实例详解(Java篇)
或许每个软件从业者都有从学习控制台应用程序到学习可视化编程的转变过程,控制台应用程序的优点在于可以方便的练习某个语言的语法和开发习惯(如.net和java),而可视化编程的学习又可以非常方便开发出各类 ...
- java 流操作对文件的分割和合并的实例详解_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 java 流操作对文件的分割和合并的实例详解 学习文件的输入输出流,自己做一个小的示例,对文件进行分割和合并. 下面是代 ...
- 实例详解 Java 死锁与破解死锁
锁和被保护资源之间的关系 我们把一段需要互斥执行的代码称为临界区.线程在进入临界区之前,首先尝试加锁 lock(),如果成功,则进入临界区,此时我们称这个线程持有锁:否则呢就等待,直到持有锁的线程解锁 ...
- 这个贴子的内容值得好好学习--实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化
感觉要DJANGO用得好,ORM必须要学好,不管理是内置的,还是第三方的ORM. 最最后还是要到SQL.....:( 这一关,慢慢练啦.. 实例详解Django的 select_related 和 p ...
- 国际化,java.util.ResourceBundle使用详解
java.util.ResourceBundle使用详解 一.认识国际化资源文件 这个类提供软件国际化的捷径.通过此类,可以使您所编写的程序可以: 轻松地本地化或翻译成不同的 ...
随机推荐
- javaSe-线程
package com.java.chap09.sec02; public class Thread1 extends Thread{ private int baoZi=1; private Str ...
- ZOJ 3471 Most Powerful (状压DP,经典)
题意: 有n个原子,每当两个原子碰撞时就会产生能量,并且消耗其中一个原子.已知每两个原子碰撞时消耗其中指定一个原子所产生的能量,问最多能产生多少能量? 思路: 一开始以为是找一个有序序列,使得能量最大 ...
- UVALive 4329 Ping pong (BIT)
枚举中间的人,只要知道在这个人前面的技能值比他小的人数和后面技能值比他小的人数就能计算方案数了,技能值大的可有小的推出. 因此可以利用树状数组,从左到右往树上插点,每个点询问sum(a[i]-1)就是 ...
- 禁止MySQL开机自动启动的方法
这几天发现电脑卡机变慢了,还有一些卡,发现每次开机MySQL都会自动启动(明明我安装的时候选择了不开机自启,任务管理器启动列表中也没有,但就是自启了...) 1.打开服务列表 有两种方法,一是快捷键 ...
- ctrl+shift+f
ctrl+f是在当前文件寻找某个参数 ctrl+shift+f是在整个工程目录下寻找某个参数
- C07 模块化开发信息管理系统案例
目录 需求分析 问题分析 开发阶段 需求分析 总体需求 学员信息管理系统支持以下功能 增加学员信息功能 删除学员信息功能 查询学员信息功能 修改学员信息功能 输出所有学员信息功能 退出系统 其他需求 ...
- JS事件类型--1
滚轮事件其实就是一个mousewheel事件,这个事件跟踪鼠标滚轮,类似Mac的触屏版. 一.客户区坐标位置 鼠标事件都是在浏览器视口的特定位置上发生的.这个位置信息保存在事件对象的clientX和c ...
- ssh整合思想初步 structs2 Spring Hibernate三大框架各自要点
Web层用Structs2的action Service层用Spring的IoC和aop以及JdbcTemplate或者Transaction事务(创建对象及维护对象间的关系) Dao层用Hibern ...
- label自适应文本大小
UILabel *label = [[UILabelalloc] initWithFrame:CGRectZero]; NSString *string = @"aa2fkoksdajfis ...
- hash 哈希查找复杂度为什么这么低?
hash 哈希查找复杂度为什么这么低? (2017-06-23 21:20:36) 转载▼ 分类: c from: 作者:jillzhang 出处:http://jillzhang.cnblogs ...