DriverManager類講解 Jdbc程式中的DriverManager用於載入驅動,並創建與資料庫的鏈接,這個API的常用方法: DriverManager.registerDriver(new Driver()) DriverManager.getConnection(url, user, ...
DriverManager類講解
Jdbc程式中的DriverManager用於載入驅動,並創建與資料庫的鏈接,這個API的常用方法:
DriverManager.registerDriver(new Driver()) DriverManager.getConnection(url, user, password)
註意:在實際開發中並不推薦採用registerDriver方法註冊驅動。原因有二:
1. 查看Driver的源代碼可以看到,如果採用此種方式,會導致驅動程式註冊兩次,也就是在記憶體中會 有兩個Driver對象。
2. 程式依賴mysql的api,脫離mysql的jar包,程式將無法編譯,將來程式切換底層資料庫將會非常麻 煩。
推薦方式:Class.forName("com.mysql.jdbc.Driver");
採用此種方式不會導致驅動對象在記憶體中重覆出現,並且採用此種方式,程式僅僅只需要一個字元串, 不需要依賴具體的驅動,使程式的靈活性更高。
資料庫URL講解
URL用於標識資料庫的位置,通過URL地址告訴JDBC程式連接哪個資料庫,URL的寫法為:
常用資料庫URL地址的寫法:
- Oracle寫法:jdbc:oracle:thin:@localhost:1521:sid
- SqlServer寫法:jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sid
- MySql寫法:jdbc:mysql://localhost:3306/sid
如果連接的是本地的Mysql資料庫,並且連接使用的埠是3306,那麼的url地址可以簡寫為
jdbc:mysql:///資料庫
Connection類講解
Jdbc程式中的Connection,它用於代表資料庫的鏈接,Collection是資料庫編程中最重要的一個對象, 客戶端與資料庫所有交互都是通過connection對象完成的,這個對象的常用方法:
- createStatement():創建向資料庫發送sql的statement對象。
- prepareStatement(sql) :創建向資料庫發送預編譯sql的PrepareSatement對象。
- setAutoCommit(boolean autoCommit):設置事務是否自動提交。
- commit() :在鏈接上提交事務。
- rollback() :在此鏈接上回滾事務。
Statement類講解
Jdbc程式中的Statement對象用於向資料庫發送SQL語句, Statement對象常用方法:
- executeQuery(String sql) :用於向數據發送查詢語句。
- executeUpdate(String sql):用於向資料庫發送insert、update或delete語句
- execute(String sql):用於向資料庫發送任意sql語句
- addBatch(String sql) :把多條sql語句放到一個批處理中。
- executeBatch():向資料庫發送一批sql語句執行。
ResultSet類講解
Jdbc程式中的ResultSet用於代表Sql語句的執行結果。Resultset封裝執行結果時,採用的類似於表格的 方式。ResultSet 對象維護了一個指向表格數據行的游標,初始的時候,游標在第一行之前,調用 ResultSet.next() 方法,可以使游標指向具體的數據行,進行調用方法獲取該行的數據。
ResultSet既然用於封裝執行結果的,所以該對象提供的都是用於獲取數據的get方法:
- 獲取任意類型的數據
- getObject(int index)
- getObject(string columnName)
- 獲取指定類型的數據,例如:
- getString(int index)
- getString(String columnName)
ResultSet還提供了對結果集進行滾動的方法:
- next():移動到下一行
- Previous():移動到前一行
- absolute(int row):移動到指定行
- beforeFirst():移動resultSet的最前面。
- afterLast() :移動到resultSet的最後面。
釋放資源
Jdbc程式運行完後,切記要釋放程式在運行過程中,創建的那些與資料庫進行交互的對象,這些對象通 常是ResultSet, Statement和Connection對象,特別是Connection對象,它是非常稀有的資源,用完後 必須馬上釋放,如果Connection不能及時、正確的關閉,極易導致系統宕機。Connection的使用原則 是儘量晚創建,儘量早的釋放。
為確保資源釋放代碼能運行,資源釋放代碼也一定要放在finally語句中。
本文來自博客園,作者:腹白,轉載請註明原文鏈接:https://www.cnblogs.com/wyh518/