JDBC(Java DataBase Connectivity)即java數據庫鏈接,是一種用於執行SQL語句的Java API是用於執行SQL的解決方案,開發人員使用JDBC的標準接口,數據庫廠商則對接口進行操做,開發人員無需接觸底層數據庫驅動程序的差別性。html
JDBC驅動的四種類型(按操做方式分類的): JDBC-ODBC Bridge Driver Native API Driver 提供原生連接庫 JDBC-Net Driver 將方法調用轉換爲特定的網絡協議調用 Native Protocal Driverjava
創建數據庫的步驟: 註冊Driver的操做對象 取得Connection操做對象 關閉connection操做對象mysql
數據庫操做相關的JDBC接口或類都位於java.sql包中。要鏈接數據庫,能夠向DriverManager取得Connection對象。Connection是數據庫鏈接的表明對象,一個Connection對象就表明一個數據庫鏈接。SQLException是在處理JDBC時常常遇到的一個異常對象,爲數據庫操做過程發生錯誤時的表明對象。git
Connection是數據庫鏈接的表明對象,接下來要執行SQL的話,必須取得java.sql.Statement對象,它是SQL語句的表明對象,可使用Connection的createStatement()來建立Statement對象。sql
在使用Connection、Statement或ResultSet時,要將之關閉以釋放相關資源。數據庫
Statement的executeQuery()方法則是用於SELECT等查詢數據庫的SQL,executeUpdate()會返回int結果,表示數據變更的筆數,executeQuery()會返回java.sql.ResultSet對象,表明查詢的結果,查詢的結果會是一筆一筆的數據。可使用ResultSet的next()來移動至下一筆數據,它會返回 true 或 false表示是否有下一筆數據,接着可使用getXXX()來取得數據。數組
若是有些操做只是SQL語句中某些參數會有所不一樣,其他的SQL子句皆相同,則可使用java.sql.PreparedStatement。可使用Connection的preparedStatement()方法建立好一個預編譯(precompile)的SQL命令,其中參數會變更的部分,先指定「?」這個佔位字符。等到須要真正指定參數執行時,再使用相對應的setInt()、setString()等方法,指定「?」處真正應該有的參數。網絡
運用反射 JAVA真正須要某個類時纔會加載對應的.class文檔,不是程序啓動時就加載全部類。ide
經過Object的getClass()方法,或者.class常量取得每一個對象對應的class對象,若是是基本類型,也可使用對應的打包類加上.TYPE取得Class對象。例如,Integer.TYPE可取得表明int的Class對象。oop
使用`class.forName()的方法來實現動態加載類。
java.lang.reflect.Method實例是方法的表明對象,可使用invoke()方法來動態調用指定的方法。
瞭解類加載器(ClassLoader)
是指將.class文件中的二進制數據讀入到內存中,將其放在運行時數據的方法區內,而後再堆區建立這個類的java.lang.Class對象,用來封裝類在方法區類的對象。
JVM將類加載過程分爲三個步驟:裝載(Load),連接(Link)和初始化(Initialize)連接又分爲三個步驟。
自定義泛型
在定義泛型時,使用extends限定指定T實際類型時,必須是某類的子類。在定義泛型時,使用extends限定指定T實際類型時,必須是某類的子類。
共變性(Covariance):,B是A的子類,Node B可視爲一種Node A ,稱Node具備共變性。
通配字符「?」與extends限制T的類型,只能經過T聲明的名稱取得對象指定給Object,或將T聲明的名稱指定爲null。
<T>
定義泛型,以後就可使用T
來定義返回類型、參數類型,或在方法內聲明變量、轉換類型等。代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 50/100 | 1/2 | 10/20 | |
第二週 | 150/200 | 1/2 | 20/30 | |
第三週 | 168/200 | 1/2 | 15/20 | |
第四周 | 300/500 | 1/2 | 20/20 | |
第五週 | 885/1000 | 1/2 | 30/30 | |
第六週 | 1211/1000 | 1/3 | 30/30 | |
第七週 | 597/1000 | 2/3 | 30/40 | |
第八週 | 468/800 | 1/2 | 40/40 | |
第九周 | 1598/1000 | 1/3 | 40/40 |