目的
檢查資料有沒有成功傳入資料庫。
看有沒有哪些地方程式打錯/少打。
執行結果顯示查詢某天的記錄都顯示0
原因(問gpt):我在class FoodLog 只寫完一個FoodLog method(用來新增記錄),雖然有輸入值,但沒有把值指定給成員變數,所以我只有新增記錄成功但查記錄的時候跑出來0(預設值)。
改正後+解釋
忘記寫第二個FoodLog裡的this.logId = logId和其他四個。
this.logId = logId:把傳入的值存到物件的logId裡。
兩個Food methed,輸入值為不同的這個概念叫多載(Overloading),只要參數型別/數量不同就可以定義很多名字一樣的method,java會根據傳入的參數決定呼叫哪個。
這裡需要兩個FoodLog的原因:在新增資料時,這筆資料還沒被加入所以不會有logId,所以只需要輸入userId、logDate、foodId、quantity這幾個參數;在查詢資料時,要從資料庫找資料,所以會有一個自動生成的logId,所以需要再加一個logId參數,為了區分所以建立兩個名字一樣的method。