iT邦幫忙

2025 iThome 鐵人賽

0
自我挑戰組

飲食營養追蹤 + 健康分析 Web 系統系列 第 26

優化程式碼,確保DAO與主程式分離

  • 分享至 

  • xImage
  •  

目的

在Main中 , 將與資料庫相關的程式碼移除 , 封裝到專門的DAO類別。

1.新增一個負責管理連線的類別
在dao資料夾下新增 class DBUtil 。
https://ithelp.ithome.com.tw/upload/images/20251025/20178845duUmVa66gX.jpg

開始寫程式碼 :
把連線網址、使用者、密碼改到這。

宣告一個靜態初始化區塊 , 這裡的程式碼只執行一次

Class.forName : 嘗試載入MySQL JDBC驅動程式類別。

RuntimeException : 強制程式終止。

getConnection() : 宣告一個方法 , 用來呼叫DriverManger的getConnection()放入前面定義的參數 , 與資料庫建立連線 , 將物件返回。
https://ithelp.ithome.com.tw/upload/images/20251025/20178845HkBunVTiYn.jpg


2.改FoodLogDAO、FoodDAO、UserDAO
這裡只示範UserDAO :
刪掉public UserDAO。

在try()裡面加上Connection conn = DBUtil.getConnection :呼叫方法。
(在用到conn的前面加這一行)
https://ithelp.ithome.com.tw/upload/images/20251025/20178845IughlSUksJ.jpg


3.改Main
刪掉import java.sql.Connection、DriverManager。

刪掉網址、使用者、密碼 , try(Connection conn= DriverManager.getConnection(url,user,password)。

將UserDAO user_dao = new UserDAO(conn) 的conn刪掉 , 不需要傳入參數。
https://ithelp.ithome.com.tw/upload/images/20251025/20178845EWTYIz26ca.jpg


上一篇
測試功能3
下一篇
整理專案說明文件,寫README
系列文
飲食營養追蹤 + 健康分析 Web 系統30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言