目的
建立FoodLog保存食物單筆資料
建立FoodLogDAO操作資料庫,存/查資料
過程
1.在src下新增model資料夾(用於封裝資料庫欄位成java物件)-》再新增class FoodLog (封裝food_log表裡的記錄)
2.開始寫FoodLog程式
先宣告food_log裡的欄位。
初始化物件,在建立物件時會自動被呼叫(一定要跟類別名一樣,且不會回傳)在這裡不用寫logId因為資料庫會自己生成,不需手動傳。
寫每個欄位的getter、setter,供外部程式讀取或修改
覆寫一個methed toString方便印出物件內容
3.在src下新增dao資料夾(新增、查詢資料庫)-》再新增class FoodLogDAO(存food_log表的資料)
4.開始寫FoodLogDAO程式
addFoodLog(新增食物記錄):丟入前面宣告過的參數 ,丟出例外不在這執行。
sql:先準備在food_log表格插入值,用?代替。
pstmt=conn.prepareStatement(sql):會回傳一個準備好的語句物件。
pstmt.setInt(1,userId):將第一個?設為userId且為整數。
getUserRecord(查詢使用者食物記錄):丟入userId、date參數,丟出例外不在這執行。
logs:建立一個ArrayList收集查到的物件。
sql:查詢id和date在哪
ResultSet rs =pstmt.executeQuery():將查到的結果存入rs。
rs.next:讀取每一筆資料
get:取得欄位資料
log.add(log),return logs:將建立好的FoodLog加入logs,並回傳。
deletwFoodLog(刪除記錄):指定刪除log_id,丟出例外不在這執行。
sql:刪除語句
updateFoodLog(更新記錄):更新某筆記錄的quantity,丟入新的quantity
swl:更新語句,把某筆記錄的quantity改成新的值,須符合條件log_id=?