Java筆記4:JDBC純驅動方式連接Oracle


JDBC純驅動方式連接Oracle

1 下載Oracle提供的驅動程序包

下載地址:

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

下載哪個版本,跟你使用的JDK版本有關,比如使用JDK1.5,則下載ojdbc5.jar。若使用JDK1.6,則下載ojdbc6.jar。因為沒有ojdbc7.jar或ojdbc8.jar,所以若使用JDK1.7或JDK1.8,也是下載ojdbc6.jar。

如果已經安裝了Oracle服務器端或客戶端,則無需再下載驅動程序包。Oracle服務器的JDBC驅動程序包目錄位於$ORACLE_HOME\jdbc\lib下。

比如,筆者在D:\oracle目錄下安裝了Oracle 11g服務器端,則驅動程序包位於

D:\oracle\product\11.2.0\dbhome_1\jdbc\lib

 

2 將驅動程序包引入工程

筆者的集成開發環境用的是IntelliJIDEA 14.0.1,JDK的版本為1.7。則驅動程序包應該使用ojdbc6.jar。

(1)建立工程,工程名隨意,比如MyJDBC。

(2)點擊左上角菜單欄中的”File”à“ProjectStructure…”

 

(3)在彈出的界面中選擇“Modules”à“Dependencies”à右側的“+”按紐,在彈出的右側的小窗口中選擇第二個選項“Library…”

 

(4)在彈出的“Choose Libraries”窗口中,選擇底部的“New Library”à”Java”,彈出”Select Library Files”窗口,

 

(5)找到D:\oracle\product\11.2.0\dbhome_1\jdbc目錄,選擇ojdbc6.jar

 

(6)選擇好驅動程序包的界面如下圖所示,點擊底部的“Add Selected”按紐

 

(7)下圖顯示驅動程序包已經被添加到MyJDBC工程中,點擊底部的“OK”按紐

 

(8)返回工程主界面,可以看到左下角除了JDK1.7外,ojdbc6.jar也被添加進來了

 

3 編寫程序

建立一個Java類,名字隨意,比如JdbcTest。其代碼如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.util.Date;

public class JdbcTest{
    publicstatic void main(String[] args) {
        String driver = "oracle.jdbc.OracleDriver";    //驅動標識符
        
String url = "jdbc:oracle:thin:@localhost:1521:orcl"//鏈接字符串
        // url ="jdbc:oracle:thin:@10.0.30.64:1521:orcl";  // 連接遠程的數據庫可以這么寫
        
String user = "scott";         //數據庫的用戶名
        
String password = "tiger";     //數據庫的密碼
        
Connection con = null;
        PreparedStatement pstm = null;
        ResultSet rs = null;
        boolean flag = false;

        try {
            Class.forName(driver);
            con = DriverManager.getConnection(url,user, password);
            String sql = "select * from emp";
            pstm =con.prepareStatement(sql);
            rs = pstm.executeQuery();
            while(rs.next()) {
                int empno = rs.getInt("empno");
                String ename =rs.getString("ename");
                double sal = rs.getDouble("sal");
                Date hiredate =rs.getDate("hiredate");
                int deptno = rs.getInt(("deptno"));
                System.out.println(empno +"\t"+ ename +"\t"+ sal +"\t"+ hiredate +"\t"+ deptno);
            }

            flag = true;
        } catch(ClassNotFoundException e) {
            e.printStackTrace();
        }
        catch(SQLException e) {
            e.printStackTrace();
        }
        finally {
            if(rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            // 關閉執行通道
            
if(pstm !=null) {
                try {
                    pstm.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            // 關閉連接通道
            
try {
                if(con != null &&(!con.isClosed())) {
                    try {
                        con.close();
                    } catch (SQLException e) {
                       e.printStackTrace();
                    }
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if(flag) {
            System.out.println("執行成功!");
        } else {
            System.out.println("執行失敗!");
        }
    }
}

 

4 運行結果

 

5 驗證

登錄數據庫,查詢scott.emp中的數據,可以看到相關的信息與上面的運行結果是一致的。


免責聲明!

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



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