//1.注冊jdbc驅動 方法有兩個:------------------ 
import java.lang.class; //方法一 
class.forname("oracle.jdbc.oracledriver"); //事實上不用引入 
import java.sql.drivermanager; //方法二: 
drivermanager.registerdriver(new oracle.jdbc.oracledriver()); 
//2.打開數據庫連接,方法兩個:------------------ 
drivermanager.getconnection(url,username,password); //方法一: 
//例子: 
connection myconnection=drivermanager.getconnection( 
"jdbc:oracle:[email protected]:1521:myoracle", 
"name", 
"password"); 
import oracle.jdbc.pool.oracledatasource; //方法二:使用數據源 
oracledatasource mydatasource=new oracledatasource(); //創建數據源 
mydatasource.setservername("localhost"); 
mydatasource.setdatabasename("myoracle"); 
mydatasource.setdrivertype("oci"); 
mydatasource.setnetworkprotocol("tcp"); //設置屬性 
mydatasource.setportnumber(1521); 
mydatasource.setuser("name"); 
mydatasource.setpassword("password"); 
//連接數據庫,可以重新指定用戶名和密碼,以不同的身份連接查詢; 
connection myconnection=mydatasource.getconnection("username","password"); 
//3.創建jdbc statement對象---------------- 
//可以禁止自動提交 myconnection.setautocommit(false); 
statement mystatement=myconnection.createstatement(); 
//4.從數據庫取得信息,即使用statement對象 
resultset myresultset=mystatement.executequery( 
"select userid,username from table"); //取得所有的信息 
string result=myresultset.getstring("userid"); //取得某項信息 
if(myresultset.wasnull()){ 
}; 
resultset.next(); 
myresultset.close(); //關閉 
//在這里提交 myconnection.commit(); 
//5.關閉jdbc對象------------- 
mystatement.close(); 
myconnection.close(); 
/*一般采用如下格式: 
finally{ 
if(mystatement!=null){ 
mystatement.close();} 
if(myconnection!=null{ 
myconnection.close();} 
} 
*/ 
//6.使用jdbc preparedstatement對象------------- 
preparedstatement myprepstatement=myconnection.preparedstatement( 
"insert into products"+ 
"(id,type_id,name) values ("+ 
"?,?,?" 
")" // 
); 
myprepstatement.setint(1,100); 
myprepstatement.setint(2,1100); 
myprepstatement.setstring(3,"username"); //使用set方法 
myprepstatement.excute(); //提交 
/*二,使用連接緩存和連接池來連接數據庫 
可以通過建立一個連接緩存,必要時向連接緩沖池添加連接。 
*/ 
//首先討論連接緩沖池------------ 
import javax.sql.*; 
import oracle.jdbc.pool.*; 
oracleconnectionpooldatasource myoracle=mew oracleconnectionpooldatasource(); 
//創建連接緩沖池數據源oracleconnectionpooldatasource的對象 
//實現了connectionpooldatasource接口 
//2.使用此對象設置物理數據庫連接的屬性 
myoracle.setservername("localhost"); 
myoracle.setdatabasename("myoracle"); 
myoracle.setportnumber(1521); 
myoracle.serdrivertupe("thin"); 
myoracle.setuser("user"); 
myoracle.setpassword("password"); 
//3.創建緩沖的連接對象,它代表物理數據庫連接,可以使用它來請求數據庫連接實例 
pooledconnection mypooledconnection= myoracle.getpooledconnection(); 
//pooledconnection mypooledconnection= myoracle.getpooledconnection("user","password"); 
//建立一次連接,可以多次請求連接實例,最后再關閉連接對象 
//4.請求、使用、和最終關閉連接實例 
connection myconnection=mypooledconnection.getconnection(); 
//使用 
myconnection.close(); 
//5.程序結束之前,關閉pooledconnection對象 
mypooledconnection.close(); 
/* 使用連接緩存------------------- 
*/ 
/*1.創建oracleconnectioncacheimpl的對象,他實現了oracleconnectioncacheclass接口 
這個接口擴展了oracledatasource類,可以使用這個類的所有屬性和方法 
創建的最簡單的方法是使用默認的構造器*/ 
oracleconnectioncacheimpl myocci=new oracleconnectioncacheimpl(); 
myocci.setservername("localhost"); 
myocci.setdatabasename("myoracle"); 
myocci.setportnumber(1521); 
myocci.setdrivertype("thin"); 
myocci.setuser("name"); 
myocci.setpassword("password"); 
//還可以使用現有的oraclepooldatasource對象為它設置屬性 
//oracleconnectioncacheimpl myocci=new oracleconnectioncacheimpl(myoracle); 
//或使用如下方法 
//myocci.setconnectionpooldatasource(myoracle); 
//2.請求、使用和關閉連接實例 
connection myconnection=myocci.getconnection(); 
/*pooledconnection對象代表物理數據庫連接,默認情況下,調用myocci.getconnection()方法時, 
myocci檢查緩存中是否存在pooledconnection對象,沒有就創建一個 
然后,檢查pooledconnection對象是否有空閑的連接實例,沒有就創建 
并返回pooledconnection對象的連接實例 
*/ 
//在這里可以請求另一個連接實例 
//connection myconnection2=myocci.getconnection(); 
//關閉連接實例 
myconnection.close(); 
//程序結束前,應該關閉oracleconnectioncacheimpl對象,同時也就關閉了所有pooledconnection對象 
myocci.close(); 
/*使用oci驅動程序實現連接緩沖池------------------------ 
優點:可以動態配置物理連接數量 
每個連接實例可以可以有不同的用戶名密碼,可以使用一個緩沖池訪問不同的用戶模式 
能夠有多個緩沖連接,thin只有一個數據庫連接 
*/ 
oracleociconnectionpool myoocp=new oracleociconnectionpool(); 
/* myoocp.set…… 
…… 
…… 
*/ 
//以下可選的可以程序運行時動態設定的屬性 
/* 
properties myproperties=new properties(); 
myproperties.put(oracleociconnectionpool.connpool_min_limit,"5"); 
my …… .connpool_max_limit,"10"); 
…………… _increment,"2"); 
_timeout,"30"); 
_nowait,"true"); 
myoocp.setpoolconfig(myproperties); 
*/ 
//建立連接實例 
oracleociconnection myconnection=(oracleociconnection)myoocp.getconnection(); 
myconnection.close(); 
myoocp.close();
注冊會員,創建你的web開發資料庫,