標籤:
(相關資料整合)
一、整體來說,這是一個串連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();
}
} ...
jdbc:oracle:thin:@localhost:1521:orcl 詳解