jdbc連線oracle 11g
阿新 • • 發佈:2019-02-05
oracle jdbc 驅動在oracle安裝檔案下都有,本人的驅動是在E:\oracle\product\11.1.0\db_1\jdbc\lib下,有
5的代表jdk 5.0的,6代表jdk 6.0的。其實驅動的含義是一些實現類。我們知道jdbc有統一的api可以操作不同的資料庫,達到跨資料庫的功能,可是sun公司是怎麼做到的呢?
其實我們正常用到的只是一些介面中的函式,而真正的實現是由資料庫廠商實現的,他的實現類就是我們需要的驅動。
下面是jdbc連線oracle的程式碼:
package com.shizhan.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DatabaseUtil { static Connection connection = null; static String driver = "oracle.jdbc.driver.OracleDriver"; static String url = "jdbc:oracle:thin:localhost:1521:orcl"; static String username ="scott"; static String password ="tiger"; public static Connection getConnection() throws Exception { Class.forName(driver); connection = DriverManager.getConnection(url,username,password); return connection; } public static void close(Connection conn) {//關閉連線物件 if(conn != null) { //如果conn連線物件不為空 try { conn.close(); //關閉conn連線物件物件 } catch (SQLException e) { e.printStackTrace(); } } } public static void close(PreparedStatement pstmt) {//關閉預處理物件 if(pstmt != null) { //如果pstmt預處理物件不為空 try { pstmt.close(); //關閉pstmt預處理物件 } catch (SQLException e) { e.printStackTrace(); } } } public static void close(ResultSet rs) {//關閉結果集物件 if(rs != null) { //如果rs結果集物件不為null try { rs.close(); //關閉rs結果集物件 } catch (SQLException e) { e.printStackTrace(); } } } }