jdbc 分页
连接数据库
public class DbUtil {
private String driver = "oracle.jdbc.OracleDriver";
private String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
private String user = "system";
private String password = "FengZe2012";
private Connection conn = null;
public DbUtil() {
try {
Class.forName(this.driver);
this.conn = DriverManager.getConnection(this.url, this.user, this.password);
} catch (Exception e) {
e.printStackTrace();
}
}
public Connection getConn() {
return this.conn;
}
}
分页查询
public class PagerDemo {
public static void main(String[] args) {
DbUtil du = new DbUtil();
Connection conn = du.getConn();
try {
String sql = "select count(*) from stu";
PreparedStatement pst1 = conn.prepareStatement(sql);
ResultSet rs1 = pst1.executeQuery();
rs1.next();
int recordcount = rs1.getInt(1); //统计总记录数
pst1.close();
int pagesize = 3; //指定每页多少条
//算出总页数
int pagecount = recordcount%pagesize==0 ? recordcount/pagesize : recordcount/pagesize+1;
sql = "select * from (select s.*,rownum rn from stu s) where rn between ? and ?";
PreparedStatement pst2 = conn.prepareStatement(sql);
int p = -6;
p = p < 1 ? 1 : p;
p = p >= pagecount ? pagecount : p;
pst2.setInt(1,p*pagesize-pagesize+1);
pst2.setInt(2,pagesize*p);
pst2.execute();
ResultSet rs = pst2.executeQuery();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss S");
while(rs.next()){
System.out.println(rs.getString("sname")+" "+sdf.format(rs.getDate("sbirthday")));
}
//PreparedStatement pst = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
jdbc 分页的更多相关文章
- jdbc分页
分页是一个被讲到烂掉的话题,今天我再拾起来踹几脚吧 (Hibernate的分页做得很好很强大,用的人都知道 ,这个就不用再说了) 1.为什么要分页? 首先是数据量太大会影响查询和传输的性能,关键 ...
- jdbc分页查询
虽然现在db层的框架很多,用起来也非常的方便,像分页这种非常常用的功能也基本上都有对应的接口可以直接使用.但是有时候数据源不在配置的范围的时候,就必须要使用到jdbc来执行sql,jdbc执行的是原生 ...
- JDBC分页查询及实现
当数据过多时,一页之内是无法显示的,因此需要进行分页显示. (一)分页技术实现: 物理分页: - 在数据库执行查询时(实现分页查询),查询需要的数据--依赖数据库的SQL语句 - 在sql查询时,从数 ...
- Struts+jdbc+分页 实例
根据项目里分页实例,带有注解. package org.tarena.netctoss.dao.impl; import java.sql.Connection; import java.sql.Pr ...
- jdbc 实现分页
jdbc 实现分页,的实现 原理这个就不介绍了.. 总之是用jdbc 的游标移动 package com.sp.person.sql.util; import java.sql.Connection; ...
- Hibernate执行原生SQL返回List<Map>类型结果集
我是学java出身的,web是我主要一块: 在做项目的时候最让人别扭的就是hibernate查询大都是查询出List<T>(T指代对应实体类)类型 如果这时候我用的联合查询,那么返回都就是 ...
- Java 程序员在写 SQL 时常犯的 10 个错误
Java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编程人员的水准: 技能(任何人都能容易学会命令式编程) 模式(有些人用“模式-模式”,举个例子,模式可 ...
- java各种概念 Core Java总结
Base: OOA是什么?OOD是什么?OOP是什么?{ oo(object-oriented):基于对象概念,以对象为中心,以类和继承为构造机制,来认识,理解,刻画客观世界和设计,构建相应的软件系统 ...
- Db2与Oracle的区别
这个部分是自己随便整理下. 在工作上需要,公司需要DB2兼容Oracle. 不懂DB2与Oracle的细节,这里努力整理,以后精通了再回来重新修改. https://www.2cto.com/data ...
随机推荐
- [转]Fedora22添加国内软件源和本地软件源
Fedora22添加国内软件源和本地软件源 Linux系统和Windows系统一个很大的区别就是软件安装方式,windows系统下安软件,我们去相应的网站下载软件安装包离线安装就可以了.虽然Linux ...
- Protobuf 完整解析 - 公司最常用的数据交互协议
Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关.语言无关.可扩展,可用于通讯协议和数据存储等领域. 数据交互xml.json.pro ...
- grunt安装,配置记录
进了新的公司,需要重构一个项目,从头开始.本人患懒癌已久,一直没有写博客的打算,也是因为资质还比较浅,写不出什么富有涵养的内容,后来想了想,就当自己的笔记吧.这次从新开始,未尝不是一个博客开始的好时机 ...
- linux显示系统时间
date 查看系统时间 设置系统时间 # date --set “09/17/10 11:50" (月/日/年时:分:秒) # clock –systohc 将系统时间写入硬件时间
- 异步SOCKET分包和组包的一种通用算法
unit uPackage;// 应用协议// cxg 2016-9-23// 包=包头+包体 interface uses SysUtils, Classes, PeachCtrl.Net.Iocp ...
- ArcGIS Server 9.3集群部署(多som+多soc)
关键字:集群 SOC 分布式 ArcGIS Server http://t.cn/8F8yPF3 http://t.cn/8F8yM4b http://www.netfoucs.com/nj19862 ...
- USB多重系統 - 開機碟工具 – WinSetupFromUSB
WinSetupFromUSB下載與安裝 讓USB磁碟擁有多重開機的功能,WinSetupFromUSB有著提軟體和硬體的高相容性. [官方網頁]:http://www.winsetupfromusb ...
- coco2d-x怎样创建project
不知道coco2d-x从那个版本号開始用python创建project,一句话搞定,确实省去了好多麻烦. 首先定位到coco2d-x的文件夹到cocos2d-x-2.2.3\cocos2d-x-2.2 ...
- 安卓版本和Api Level
Platform Version API Level VERSION_CODE Notes Android 4.4 19 KITKAT Platform Highlights Android 4.3 ...
- 嵌入式开发之davinci---dm8127 ipipe
http://blog.csdn.net/dog0138/article/details/4212576 http://e2e.ti.com/support/dsp/davinci_digital_m ...