教材學習內容總結
第11章-JDBC與MySQL數據庫
要點
- MySQL數據庫管理系統
- 鏈接MySQL數據庫
- 查詢操做(基礎)
- 更新、添加、刪除(基礎)
- 預處理語句(重點)
- 通用查詢(難點)
- 事務
筆記
1. 查詢操做
-
基本操做:php
- 與數據庫取得鏈接(不一樣數據庫僅在這一句中的連接和代碼中的驅動
forname
不一樣):
String uri = "jdbc:mysql://localhost:3306/<所鍵表格的名字>?useSSL=true";
- 向已鏈接的數據庫發送SQL語句建立查詢對象(置於代碼中):
try{ Statement sql=con.createStatement(); } catch(SQLException e ){}
- 處理SOL語句返回的結果(兩種方式選一便可):
getString(int columnIndex) getString(String columnName)
- 友好關閉數據庫:
con.close()
- 與數據庫取得鏈接(不一樣數據庫僅在這一句中的連接和代碼中的驅動
-
三種查詢方式:html
- 順序查詢
- 控制遊標
- 獲得可滾動的結果集:
Statement stmt = con.createStatement(int type ,int concurrency);
- 獲得可滾動的結果集:
- 條件與排序查詢
- where子句:
select 字段 from 表名 where 條件
- 排序:
用order by子語句對記錄排序
- where子句:
2. 更新、添加、刪除
- 更新:
update 表 set 字段 = 新值 where <條件子句>
- 添加:
insert into 表(字段列表) values (對應的具體的記錄)
或insert into 表 values (對應的具體的記錄)
- 刪除:
delete from 表名 where <條件子句>
3. 使用預處理語句
- 使用通配符
經常使用預處理語句設置通配符?的值的方法:java
void setData(int parameterIndex,Data x) void setDouble(int parameterIndex,double x) void setFloat(int parameterIndex,float x) void setInt(int parameterIndex,int x) void setLong(int parameterIndex,long x) void setString(int parameterIndex,string x)
4. 通用查詢
- 編寫一個類,只要用戶將數據庫名,SQL語句傳遞給該類對象,那麼這個對象就用一個二維數組返回查詢的記錄(eg. 運行結果是個表格),使用的是返回到程序中的結果集來獲取相關信息
- 具體步驟:
- 結果集的元數據對象:
ResultSetMetaData = rs.getMetaData();
- 調用getColumnCount()方法返回結果集rs中的列的數目:
int columnCount = metaData.getColumnCount()
- 想要返回第i列的數據就用:
string columnCount = metaData.getColumnCount(i)
- 結果集的元數據對象:
5. 事務
- JDBC事務處理步驟
- 關閉自動提交模式方法:
setAutoCommit(booean b)
- 處理事務方法:
commit()
- 處理事務失敗:
rollback()
- 關閉自動提交模式方法:
教材學習中的問題和解決過程
- Q1:在老師的推薦和教程Intellj IDEA 簡易教程的指導下,選擇直接安裝XAMPP,但下載完後運行了setup_xampp.bat顯示運行成功了,但打開contral界面卻出現以下情況?
通過查詢得知,形成這個錯誤的緣由是,XAMPP的設置的經常使用端口,包含http和https端口都被佔用了,參考了網上的經驗對Apache的Config文件進行修改後就能夠運行了。參考了百度經驗,但因爲個人82端口也被佔用,所以將「80」改成「8080」,將「443」改成「4433」,關掉XAMPP後再次打開就能夠運行了。mysql
- Q2:在phpMyAdmin中導入了安裝包world.sql,在IDEA中運行程序仍是出現錯誤?
檢查後發現是在配置的時候忘了將zip解壓縮,致使選擇的是錯誤的對象,建立出的是空的表。git
可使用快捷方式打開project Structuresql
解壓後再按照教程進行下一步,成功建表後就能夠運行了數據庫
測試代碼運行結果:數組
在phpAdmin中查詢有:安全
代碼調試中的問題和解決過程
- Q1:運行測試代碼時代碼能夠成功運行,但在運行Example11_1.java時,卻出現以下錯誤?
改正參數後仍有錯誤(查找失敗,不存在表格)工具
在仔細審查後發現還未創建表格,回到SQL處執行代碼:
use demo; CREATE TABLE students ( number char char(50) AUTO_INCREMENT PRIMARY KEY, name varchar(100), birthday data, height float ) CHARSET=UTF8;
建表如圖:
再回到IDEA中運行代碼便可成功運行了
思考與感悟
本週主要學習了數據庫的安裝和操做,在安裝XAMPP的時候出現了不少小問題,在同窗和教材的幫助下成功一一解決了,安裝好了數據庫,從此的學習應該會更加方便。
錯題總結
詳見博客:week6測試錯題總結
代碼託管
詳見碼雲:碼雲做業
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 3000行 | 30篇 | 400小時 | |
第七週 | 1324/200 | 2/11 | 20/20 | 深刻 |