JDBC簡介html
3.應用程序使用JDBC聯機數據庫:java
·Connection conn = DriverManager.getConnection(...); ·Statement st = conn.createStatement(); ·ResultSet rs = st.executeQuesry(...);
鏈接數據庫mysql
DriverManager
的getConnection():Connection conn = DriverManager.getConnection(jdbcUrl, username, passwd);
使用PreparedStatement
、CallableStatement
git
PrepareStatement stmt = conn.prepareStatement("INSERT INTO t_message VALUES(?, ?, ?, ?)");
2.須要真正指定參數執行時,再使用相對應的setInt()、setString()等方法指定「?」處真正應該有的參數。正則表達式
·stmt.setInt(1,2); ·stmt.setString(2,"momor"); ·stmt.executeUpdate();
3.結果集類型3種設定:sql
·ResultSet.TYPE_FORWARD_ONLY(默認)(只能前進數據光標) ·ResultSet.TYPE_SCROLL_INSENSITIVE(先後移動數據光標) ·ResultSet.TYPE_SCROLL_SENSITIVE(先後移動數據光標,反映數據庫中的數據修改)
4.更新設定的2種設定:數據庫
·ResultSet.CONCUR_READ_ONLY(默認)(進行數據讀取) ·ResultSet.CONCUR_UPDATABLE(進行數據讀取、更新)
absolute()
、afterLast()
、beforeFirst()
、first()
、last()
。relative()
、previous()
、next()
。isAfterLast()
、isBeforeFirst()
、isFirst()
、isLast()
。updatexxx()
方法,而後調用updateRow()
方法。取消更新:調用cancelRowUpdates()
。moveToInsertRow()
,以後調用updatexxx()
設定要新增的數據各個字段,而後調用insertRow()
新增數據。deleteRow()
。excuteUpdate()
,都會向數據庫發送一次SQL。批次更新時可使用addBatch()
方法來收集SQL,並使用executeBatch()
方法將所收集的SQL傳送出去。java.sql.Blob
與java.sql.Clob
兩個類分別表明BLOB與CLOB數據。getMetaD()
方法取得DatabaseMetadata對象,經過這個對象提供的各類方法能夠取得數據庫總體信息,而ResultSet表示查詢到的數據,而數據自己的字段、類型等信息,能夠經過ResulSet
的getMetaData
對象,經過這個對象提供的相關方法就能夠取得域名、字段類型等信息。3.CachedRowSet爲脫機式的RowSet,在查詢並填充完數據後就會斷開與數據源的聯機。學習
教材學習有問題先去https://shimo.im/doc/1i1gldfsojIFH8Ip/看看,若是別人沒有提出相同問題,能夠編輯文檔添加,而後把本身提出的問題複製到下面:測試
問題:對於教材509頁的代碼不是很理解,代碼以下:.net
import java.sql.*; import static java.lang.System.out; public class ConnectionDemo { public static void main(String[] args) throws ClassNotFoundException,SQLException{ Class.forName("com.mysql.jdbc.Driver"); String jdbcUrl = "jdbc:mysql://localhost:3306/demo"; String user = "root"; String passwd = "openhome"; try(Connection conn = DriverManager.getConnection(jdbcUrl,user,passwd)){ out.printf("已%s數據庫連機%n",conn.isClosed()?"關閉":"開啓"); } } }
解決:Connection使用嘗試自動關閉資源語法,因此執行完try區塊後,Connection的close()就會被調用...
教材中代碼調試有問題先去https://shimo.im/doc/1i1gldfsojIFH8Ip/看看,若是別人沒有提出相同問題,能夠編輯文檔添加,而後把本身提出的問題複製到下面:
教材學習中的問題和解決過程, 一個問題加1分
代碼調試中的問題和解決過程, 一個問題加1分
基於評分標準,我給本博客打分:XX分。得分狀況以下:xxx
上週博客互評狀況(只要連接,具體點評放相應博客下)
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 3000行 | 20篇 | 400小時 | |
第一週 | 200/200 | 1/1 | 18/18 | |
第二週 | 153/353 | 1/2 | 18/36 | |
第三週 | 356/709 | 1/3 | 24/60 | |
第四周 | 450/1259 | 1/4 | 28/85 | |
第五週 | 479/1738 | 1/5 | 30/115 | |
第六週 | 700/2438 | 1/6 | 30/145 | |
第七週 | 450/2888 | 2/8 | 31/176 | |
第八週 | 332/3220 | 1/9 | 32/208 | |
第九周 | 662/3882 | 2/11 | 38/246 |
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進本身的計劃能力。這個工做學習中很重要,也頗有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
計劃學習時間:40小時
實際學習時間:38小時
改進狀況:本週由於有實驗二,計劃比上週學習時間提升,學習時間有所提升。
(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表)