jdbc:oracle:thin:@localhost:1521:orcl 詳解


(相關資料整合)

一、整體來說,這是一個連接oracle數據庫的一個連接字符串,指明連接數據庫的URL,可理解為三部分-〉協議(jdbc):子協議(oracle:thin):數據源標識(@localhost:1521:orcl)

二、jdbc:Java Database Connectivity,即Java數據庫連接,實質是一個Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC可做3件事情:1、連接數據庫 2、發送SQL語句 3、(從數據庫)接收處理結果。從連接字符串角度講,指出連接數據庫用的是JDBC的方式。

二、oracle:thin

指出連接的是oracle數據庫,同時連接方式為thin方式,即瘦方式,不需要客戶端的方式。與之對的另一種連接方式為胖方式:cli,這種方式需要安裝客戶端。

三、@localhost:1521:orcl

localhost  數據庫的地址,非本地時可按為數據庫的IP地址;

1521 orcal數據庫默認的監聽端口,可換為其他監聽端口;

orcl orcal數據庫默認的一個實例,可按為其他實例名。

四、擴展一下

java連接其他數據庫的連接字符串

-----MySQL-----

driverString = com.mysql.jdbc.Driver

dataBaseUrl = jdbc:mysql://127.0.0.1:3306/scutcs

-----ms sql 2000-----

driverString = com.microsoft.jdbc.sqlserver.SQLServerDriver

dataBaseUrl = jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Demo

-----ms sql 2005-----

driverString = com.microsoft.sqlserver.jdbc.SQLServerDriver

dataBaseUrl = jdbc:sqlserver://localhost:1433;DatabaseName=Demo

-----ms sql 第三方統一方式-----

driverString= net.sourceforge.jtds.jdbc.Driver
dataBaseUrl = jdbc:jtds:sqlserver://localhost:1433;DatabaseName=Demo

這種方式需要第三方包:jtds-1.2.jar;

-----DB2-----

driverString = com.ibm.db2.jcc.DB2Driver
dataBaseUrl = jdbc:db2://localhost:50000/toolsdb

 

五、連接數據庫的七個步驟

1、加載驅動

Class.forName(driverString);

2、建立連接

Connection conn = DriverManager.getConnection(dataBaseUrl , username , password );

3、創建聲明

  a.執行靜態SQL語句,一般通過Statement實例實現,eg: Statement stmt = conn.createStatement() ;

  b.執行動態SQL語句,一般通過PreparedStatement實例實現,eg: PreparedStatement pstmt = conn.prepareStatement(sql);

  c.執行存儲過程,一般通過CallableStatement實例實現,eg: CallableStatement cstmt = conn.prepareCall("{CALL demoSp(? , ?)}") ; 

4、執行SQL

  Statement接口提供了三種執行SQL語句的方法:executeQuery 、executeUpdate  和execute  

  a. ResultSet executeQuery(String sqlString):執行查詢數據庫的SQL語句,返回一個結果集(ResultSet)對象。

   具體語句為:ResultSet rs = stmt.executeQuery("SELECT * FROM ...");

  b. int executeUpdate(String sqlString):用於執行INSERT、UPDATE或DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等

   具體語句為:int rows = stmt.executeUpdate("INSERT INTO ...") ;

  c. execute(String sql):用於執行返回多個結果集、多個更新計數或二者組合的語句。

   具體實現的代碼:boolean flag = stmt.execute(sqlString)

5、處理結果

  結果一:執行查詢返回的是ResultSet對象(記錄集)

  結果二:執行更新返回的是本次操作影響的記錄數。

  訪問結果的方法:

  while(rs.next()){

    String name = rs.getString("name") ;

    String pwds = rs.getString(1) ; //本方法高效

  }   

6、關閉資源

  反序關閉,先內后外。記錄集-聲明-連接

  if(rs != null){

  try{

    rs.close();

  }catch(SQLException e) {

    e.printStackTrace() ; e.printStackTrace();

  }  

  } ...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM