20175227張雪瑩 2018-2019-2 《Java程序設計》第九周學習總結

20175227張雪瑩 2018-2019-2 《Java程序設計》第九周學習總結

教材學習內容總結

第十一章 JDBC數據庫操做

  • MySQL數據庫管理系統
    • 下載安裝MySQL
      • 若下載的是壓縮包形式(書上提供的),須要配置環境變量;如果msi文件,直接安裝便可
  • MySQL客戶端管理工具
    • 下載並安裝老師推薦使用的xampp
    • 輸入測試鏈接狀態代碼
import static java.lang.System.out;
import java.sql.*;

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 = "";
        try(Connection conn = 
                DriverManager.getConnection(jdbcUrl, user, passwd)) {
            out.printf("已%s數據庫鏈接%n", 
                    conn.isClosed() ? "關閉" : "打開");
        } 
    }
}
  • JDBC-MySQL數據庫驅動
    • 下載並安裝JDBC-MySQL數據庫驅動——mysql-connector-java-8.0.16
    • 在IDEA中添加jar包
  • 查詢操做
    • 獲得SQL查詢語句對象
    try{  Statement sql=con.createStatement();
    }
    catch(SQLException e ){}
    • 處理查詢結果
      • SQL查詢語句對數據庫的查詢操做將返回一個ResultSet對象,ResultSet對象是按「列」(字段)組織的數據行構成。
        • ResultSet rs = sql.executeQuery("SELECT * FROM students");
      • ResultSet對象一次只能看到一個數據行,使用next()方法移到下一個數據行,得到一行數據後,ResultSet對象可使用getXxx方法得到字段值(列值),將位置索引(第一列使用1,第二列使用2等)或列名傳遞給getXxx方法的參數便可。
    • 關閉鏈接
      • 應用程序在使用ResultSet對象中的數據時,就必須始終保持和數據庫的鏈接,直到應用程序將ResultSet對象中的數據查看完畢
  • 更新、添加與刪除操做
    • 更新
      • update 表 set 字段 = 新值 where <條件子句>
    • 添加
      • insert into 表(字段列表) values (對應的具體的記錄)
      • insert into 表 values (對應的具體的記錄)
    • 刪除
      • delete from 表名 where <條件子句>
  • 使用預處理語句
    • 若是應用程序能針對鏈接的數據庫,事先就將SQL語句解釋爲數據庫底層的內部命令,而後直接讓數據庫去執行這個命令,顯然不只減輕了數據庫的負擔,並且也提升了訪問數據庫的速度。
    • Connection和某個數據庫創建了鏈接對象con,那麼con就能夠調用prepareStatement(String sql)方法對參數sql指定的SQL語句進行預編譯處理,生成該數據庫底層的內部命令,並將該命令封裝在PreparedStatement對象中
  • 通用查詢
    • 用戶將數據庫名、SQL語句傳遞給該類對象,那麼該對象就用一個二維數組返回查詢的記錄。
      • metaData調用getColumnName(int i)方法就能夠返回結果集rs中的第i列的名字:
        • String columnName = metaData.getColumnName(i);
  • 事務:應用程序保證事務中的SQL語句要麼所有都執行,要麼一個都不執行。
    • JDBC事務處理步驟
      • 用setAutoCommit(booean b)方法關閉自動提交模式
      • 用commit()方法處理事務
      • 用rollback()方法處理事務失敗用rollback()方法處理事務失敗

教材學習中的問題和解決過程

代碼調試中的問題和解決過程

代碼託管

上週考試錯題總結

html

結對及互評

  • 博客中值得學習的或問題:java

  • 該同窗把安裝過程都截圖保存至博客。mysql

  • 感受感悟那一塊的內容能夠在具體一點,好比說具體遇到什麼問題,如何解決,從中收穫了什麼,或是教材學習中增加的關於調試代碼的經驗。git

  • 代碼中值得學習的或問題:sql

  • 基於評分標準,我給本博客打分:11分。得分狀況以下:正確使用Markdown語法(加1分);模板中的要素齊全(加1分);教材學習中的問題和解決過程, 一個問題加1分;代碼調試中的問題和解決過程, 一個問題加1分;本週有效代碼超過300分行的(加2分);排版精美的加一分;代碼Commit Message規範的加1分;點評認真,能指出博客和代碼中的問題的加1分;結對學習狀況真實可信的加1分數據庫

點評過的同窗博客和代碼

其餘(感悟、思考等,可選)

  • 本週對於數據庫進行了初步學習,以前學過文件讀取輸出,類比本週學習內容,數據庫是一個儲存相同類型數據很好的媒介。
  • 在運行程序時遇到了不少問題,要學會新軟件的基本操做,出現錯誤提示時,要根據錯誤提示進行適當修改,不能貿然根據網絡上教程亂改程序

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
第一週 11/11 1/1
第二週 262/273 1/2
第三週 642/915 1/3
第四周 384/1299 2/5
第五週 661/1960 1/6
第六週 1031/2991 2/8
第七週 123/3114 2/10
第八週 941/4055 2/12
第九周 1697/5752 4/16

參考資料

相關文章
相關標籤/搜索