JAVA实现Oracle数据库的数据的分页显示
最近学了servlet和oracle,也就把他们结合下,做个分页的页面出来。算是一种复习吧。
1.首先是oracle的分页显示SQL语句:
select * from(select a.*, rownum rn from (select * from Person) a where rownum <= MaxNum) where rn > MinNum;
2.然后在java中,连接数据库的语句有下面几段:
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//打开数据库
Connection ct = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:myora1", "sys as sysdba", "abc");
/*
*这个函数有三个参数
*第一个参数 jdbc:oracle:thin@ + IP地址 + 端口号 + 数据库名
*第二个参数 用户名
*第三个参数 密码
*/
//创建连接数据库的会话
Statement sm = ct.createStatement();
//设置SQL语句
ResultSet rs = sm.executeQuery("............");
3.设定分页的四个关键值
int pageSize = 5; //一页显示的条目数 自己设定
int pageNow = 1; //当前的页数 初始值为1
int rowCount = 0; //一共的记录数
int pageCount = 0; //一共的页数
第二个是用户选定出来的,所以加上
String id = (String)req.getParameter("id");
if(!(id == null || id.equals("")))
{
pageNow = Integer.parseInt(id);
}
下面两个是要计算出来的~
rowCount:
ResultSet rst = sm.executeQuery("select count(*) from Person");
while(rst.next())
{
rowCount = rst.getInt(1);
}
pageCount:
pageCount = (rowCount % pagesize == 0) ? rowCount / pageSize : rowCount / pageSize + 1;
OK,基本要素讲完了,下面上完整Code:
package com.testing;
import javax.servlet.http.*;
import java.io.*;
import javax.servlet
相关文档:
SQL> select dbms_metadata.get_ddl('PROCEDURE','PRO2','SCOTT') text from dual;
TEXT
----------------------------------------
CREATE OR REPLACE PROCEDURE "SCOTT"."P
RO2"
is
begin
dbms_output.put_line('wangpeng up');
end;
SQL> select dbms_metadata.get_ddl('PROCEDURE','PRO1','SCOTT') te ......
单行函数:
函数类别:
单行:返回单个结果:substr,length
多行:返回多个结果,any,all
单行的分类:
字符类,日期类,数字类,转换类,通用类
1.字符类
转换大小写:
lower:转换为小写
Select ENAME,LOWER(ENAME) from EMP
upper:转换为大写
Select upper( ......
在ORACLE中经常会碰到阻塞的情况发生,这个时候我们就需要快速的找出导致阻塞的原因,并尽快排除它,好让系统重新正常运行。
下面以死锁为例,来看看如何找出导致阻塞的会话并解决问题。
//SCOTT窗口1
SQL> select * from t2;
ID
----------
3
1
2
SQL> update t2 set i ......
/******************TestThread.java begin****************************/
public class TestThread {
public static void main(String[] args) {
// TODO Auto-generated method stub
Object obj=new Object();
print p=new print(obj);
  ......