jdbc應用--數據庫連接全集

文章發表: wendea

發表日期: 2004-07-30

這是一篇基礎性文章,主要介紹了jdbc在流行數據庫(sql server,oracle)方面的應用。但是都是個人觀點,所以不能保證完全正確,僅供參考,如果有不同意見可以在評論中指出,我會做相應的修改。:)
一般情況下,直接用jdbc等東西連數據庫時,比較常用連數據庫的代碼可能是:
private Connection conn
private String poolURL = "";
private String driverName ="";
private String user=""
private String pass="";
private DBConnProxy Proxy; //
自己寫的class,起控制數據庫訪問作用
public Object getConn()
{
try
{
Properties prop=new Properties();
prop.setProperty("user",user);
prop.setProperty("password",pass);
Driver mydriver=(Driver)Class.forName(driverName).newInstance();
conn = mydriver.connect(poolURL,prop);//
或者conn = mydriver.connect(poolURL,null);具體什麼時候用我還的請教高手。
/*
或者:
Class.forName(driverName);
conn=DriverManager.getConnection(poolURL, user, pass);
*/
}
catch ( Exception e )
{
System.out.println("打開數據庫出錯/n" + e.getMessage());
}

if(!Proxy.getDB() ){
this.Close()
return null;
}

return conn;
}
其中的 driverName,poolURL,user,pass都可以通過讀取 xml文件或普通屬性文件獲取。而是連sqlserver還是oracle就只是改改配置就可以了。
它們都可以用 sun.jdbc.odbc.JdbcOdbcDriver 來連。對應poolURL="jdbc:odbc:test",user,pass略
也可以用自己特有的:
sqlserver:weblogic.jdbc.mssqlserver4.Driver (網上下) 對應poolURL="jdbc:weblogic:mssqlserver4:[email protected]" //ceic是數據庫名,127.0.0.1是數據源位置,可以是遠程的數據庫,user,pass略
oracle:oracle.jdbc.driver.OracleDriver (class12.zip,裝了oracle就應該有了) 對應jdbc:oracle:thin:scott/[email protected]:1521:sp" scott/tiger連接身份的用戶名/密碼,10.1.103.234,數據源ip,1521:端口(默認是1521). sp指向數據庫名user,pass略
如果用的weblogic配的數據庫連接,可以通過
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("forceicdatasource"); //forceicdatasource是配的datasource.也可以通過和上面統一的方法來調用。
weblogic:weblogic.jdbc.pool.Driver //driverName
對應的poolURL="jdbc:weblogic:pool:poolname" //poolname是在weblogic中配的jdbc類型的connections pool的名字。user,pass是weblogic用戶(administrators用戶組中的用戶)的用戶名和密碼。(如果不是用DriverManager就用不上,"conn = mydriver.connect(poolURL,null);"就是在這種情況下可以用。我在weblogic 6.1下測試通過)
綜上說的,可以看出,大多數數據庫連接都可以通過配置 屬性文件 來靈活的獲取。(移植起來很是方便,並且對應用基本沒有什麼影響,當然也可以誇平臺)所以我可以通過動態讀取屬性文件來解決。
private String javaHome = System.getProperty("java.home");
private final String FS = System.getProperty("file.separator");
private String path = javaHome+FS+"db.properties"; //把db.properties放在系統屬性java.home下,一般是jdk目錄下的 jre目錄裏。
public boolean getInfo(){
File file=new java.io.File(path);
Properties pro=new Properties();
boolean readsucced;
try{
InputStream

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章