JDBC更新資料庫中資料
JDBC的功能基本上歸結為三件事,即建立資料庫連線,傳送SQL語句和處理查詢結果。
JDBC詳細步驟:
1.導包(先將驅動包拷貝到專案目錄下,再解壓)
路徑:D:\oracle\product\10.2.0\db_1\jdbc\lib
找到路徑之後,複製classes12.jar架包貼上到jdbc專案下
最後eclipse中解壓:右擊Build Path ===》add to build path
2.載入驅動
核心程式碼:
Class.forName("oracle.jdbc.driver.OracleDriver");
驅動類的完整路徑
拋異常ClassNotFoundException
3.建立連線
/**
* 第一個引數:jdbc:oracle:thin:@<資料庫伺服器所在的ip>:<資料庫應用程式暫用的埠號>:<你要連線的資料庫庫名>
* 如果是本機:localhost、127.0.0.1、或者說本機ip,如果是遠端伺服器則寫對方的ip
* 第二個引數:連線資料庫的使用者名稱
* 第三個引數:連線資料庫用的使用者密碼
*/
DriverManager驅動程式管理類,作用與使用者和驅動程式之間,他跟蹤可用的驅動程式,並在資料庫和相應程式之間建立連線。
核心程式碼:
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
到此處,執行輸出con為
4.建立執行語句塊(對資料庫中資料的操縱主要就分查詢和更新兩類,此處以資料更新為例)
Statement宣告類用於將sql語句傳送到資料庫中,Statement 介面提供了執行語句和獲取結果的基本方法。
核心程式碼:
String sql="insert into dept values(60,'技術部','2522')";
Statement stmt=con.createStatement();
5.執行語句獲取結果或結果集
核心程式碼:
int result=stmt.executeUpdate(sql); //executeUpdate()方法執行更新操作,返回更新的行數
6.處理結果或結果集
核心程式碼:
if(result>0){
System.out.println("新增部門資訊成功");
}else{
System.out.println("新增部門資訊失敗");
}
7.關閉資料庫連線
核心程式碼:
stmt.close();
con.close();
前三步常出現的問題:
報錯解決方案
java.lang.ClassNotFoundException
可能是因為對應類所在的包沒有匯入
如果包已經成功匯入,說明是類名寫錯了
如果包已經成功匯入,類名也沒有寫錯,那麼可能是驅動包的問題,這個時候去檢視一下驅動包中是否存在這個類
Io 異常: The Network Adapter could not establish the connection
資料庫伺服器的監聽沒有啟動
資料庫伺服器端IP地址錯誤
listener does not currently know of SID given in connect descriptor
對應的資料庫伺服器沒有啟動
連線的資料庫錯了
ORA-01017: invalid username/password; logon denied
登入資料庫的使用者名稱或密碼錯誤