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/
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/527988.html
標籤:其他
上一篇:集合是否存在交集的判斷方法分享
