1. 程式人生 > >jdbc連線oracle 11g

jdbc連線oracle 11g

      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();
			}
		}
	}
}