20165330 2017-2018-2 《Java程序設計》第7周學習總結

課本知識總結

第十一章 JDBC與MySQL數據庫

  • 安裝XAMPP軟件及啓動MySQL
  1. 下載連接:XAMPP
  2. 安裝步驟:參考教程xampp新手學習指引(windows示例)
  3. 啓動MySQL:打開系統cmd命令,轉到MySQL的bin目錄下
    • 初始化:mysqld --initialize-insecure
    • 啓動:mysqld或mysqld -nt
    • 修改root用戶密碼:mysqladmin -u root -p password
  • 鏈接數據庫
  1. 下載JDBC-MySQL數據庫驅動
  2. 加載JDBC-MySQL數據庫驅動
  3. 鏈接數據庫
Connection getConnection(java.lang.String,java.lang.String,java.lang.String)
Connection getConnection(java.lang.String)
  • 查詢操做
  1. 向數據庫發送SQL查詢語句
try {  statement sql=con.createStatement();
}
catch(SQLException e) {}
  1. 順序查詢
    • 使用next()方法移到下一個數據行
    • 移動成功返回true,不然返回false
  2. 條件與排序查詢
    • where子語句:select 字段 from 表名 where 條件
    • 排序:用order by子語句對記錄進行排序
select * from mess order by height
select * from mess where name like '%林%' order by name
  1. 通用查詢:使用返回到程序中的結果集來獲取相關的信息
  • 更新、添加與刪除操做
  1. 更新:update 表 set 字段 = 新值 where <條件子句>
  2. 添加:insert into 表(字段列表) values (對應的具體記錄)
  3. 刪除:delete from 表名 where <條件子句>
  • 預處理語句:可以使用通配符?來代替字段的值
    image
  • JDBC事務處理
  1. 用setAutoCommit(booean b)方法關閉自動提交模式
con.setAutoCommit(false);
sql = con.createStatement();
  1. 用commit()方法處理事務
  2. 用rollback()方法處理事務失敗:即撤銷事務所作的操做

遇到的問題及解決方法

  1. 在安裝XAMPP時出現Tomcat下載不成功
    imagephp

    解決方法:上網查了好多沒有看懂,我在卸載從新下載後又重啓了電腦,發現下載成功html

  2. 在輸入127.0.0.1 來進入XAMPP時出現下圖
    imagejava

    在看同窗的博客後發現,只要將網址改爲http://localhost/phpmyadmin就能夠直接進入了mysql

  3. 在虛擬機裏運行代碼時遇到
    imagesql

    解決方法:1. 下載mysql,輸入sudo apt-get install mysql-server mysql-client 2. 找到mysql所在目錄:/var/lib/mysql 3.啓動mysql:mysql start數據庫

代碼託管

image

錯題總結

第五週
  1. image

    解析:C項:內部類的類體中不能夠聲明類變量和類方法。windows

  2. image

    解析:對於嚴重的錯誤,經過Error類來描述,而對於非嚴重的問題,則是經過Exception類來進行描述的。學習

  3. image

    解析:B項:finally代碼塊定義必定會執行的代碼,它一般用於關閉資源。對於異常的部分,若是沒有作finally處理,那麼這個程序是有缺陷的,每次調用完資源再把資源釋放掉是必須的,不然運行壓力會特別大。this

  4. image

    解析:File類不涉及對文件的讀寫操做。.net

  5. image

    解析:經過查詢API可知,以上均爲File類的構造方法。

  6. image

    解析:public int hashCode():計算此抽象路徑名的哈希碼。

  7. image

    解析:InputStream是父類。

  8. image

    解析:參數name指定的文件稱爲輸出流的目的地。

  9. image

    解析:A項,以時間換取空間。

第六週
  • 因爲時間預估錯誤及手機自身問題,雖然已經做答完成,卻在最後提交時錯失提交時間,因此沒能按時提交答案,也就沒有糾錯,如下僅憑印象列出個錯題:
  • 1:下列關於Math類的說法,正確的是
    A. public static double cbrt(double a) 返回 double 值的立方根。若是參數爲 NaN,那麼結果爲 NaN。
    B. public static double cos(double a) 返回角的三角餘弦。若是參數爲 NaN 或無窮大,那麼結果爲 NaN。
    C. public static double floor(double a) 返回最大的(最接近正無窮大)double 值,該值小於等於參數,並等於某個整數。若是參數爲 NaN 或無窮大,那麼結果爲 NaN。
    D. public static double log10(double a) 返回 double 值的底數爲 10 的對數。若是參數爲正 0 或負 0,那麼結果爲負無窮大。

答案:ABD 解答:查詢API。C項:若是參數爲 NaN、無窮大、正 0 或負 0,那麼結果與參數相同。

  • 2:對於以下代碼,下列哪一個敘述是正確的?
    public class E {
    public static void main (String args[]) {
    String s1 = args[1];
    String s2 = args[2];
    String s3 = args[3];
    System.out.println(s3);
    }
    }
    A. 程序出現編譯錯誤。
    B. 無編譯錯誤,在命令行執行程序:「java E I love this game」,程序輸出this。
    C. 無編譯錯誤,在命令行執行程序:「java E let us go」,程序無運行異常。
    D. 無編譯錯誤,在命令行執行程序:「java E 0 1 2 3 4 5 6 7 8 9」程序輸出3。

答案:D

  • 3:下列哪一個敘述是錯誤的?
    A. "9dog".matches("\ddog")的值是true。
    B. "12hello567".replaceAll("[123456789]+","@")返回的字符串是@hello@。
    C. new Date(1000)對象含有的時間是公元后1000小時的時間
    D. "\hello\n"是正確的字符串常量。

答案:C

相關文章
相關標籤/搜索