標籤:
一、總體分析
此系統的實現並不難,但是如何更好的設計出實現方式還是需要更深入的分析,例如:如果再增加其他功能,是不是需要變動的
代碼很少,只是直接再增加一點功能就可以了呢?如果使用的不是Oracle而是MySQL資料庫呢?這都應該在設計階段考慮清楚。
二、具體分析
1.建立test包並建立TestBank類,啟動和運行系統。【啟動】
2.建立service包
2.1 建立商務邏輯層類Bank,定義銀行系統主菜單方法,以及功能的操作。
2.2 建立商務邏輯層類AdminService,完成Bank的請求,轉寄給資料庫操作,再把資料庫操作的結果處理後返回給Bank中
管理員的請求。
2.3 建立商務邏輯層類AdminService,完成Bank的請求,轉寄給資料庫操作,再把資料庫操作的結果處理後返回給Bank中
客戶的請求。
3.建立po包,定義Admin類和Customer類
Admin類是資料庫表administrator的映射類,用來儲存administrator表的資料。
Customer類是資料庫表customer的映射類,用來儲存customer表的資料。
4.建立dao包,
4.1 建立db.properties檔案,裡面儲存資料庫的設定檔。
4.2 建立Config類,載入設定檔內容到Properties對象中。
4.3 建立BaseDao類,串連資料庫,並且進行資料庫的操作。
4.4 建立AdminDao介面,定義管理員登陸、添加顧客(開戶)、計算儲蓄總額、富豪熱門排行榜方法。
4.5 建立AdminDaoImpl類,繼承BaseDao,實現AdminDao介面,使用jdbc完成相應的資料庫操作。
4.6 建立CustomerDao介面,定義顧客登入,存款,取款,查詢餘額,轉賬,修改密碼方法。
4.7 建立CustomerDaoImpl類,繼承BaseDao,實現CustomerDao介面,使用jdbc完成相應的資料庫操作。
總結:
1.使用Config,實現載入資料庫設定檔,這樣如果更改資料庫的配置,只需在檔案中更改配置資訊即可,不需要再修改代 碼。
2.Bank類中的功能操作,只管功能的操作【相等於前台的顯示】,DaoImpl中只管進行資料庫的操作請求【資料庫請求部分】,然後將資料庫操作的結果返回到Service中進行處理【相等於中間處理】,Service接受Bank的請求,然後將請求轉寄給DaoImpl,然後接受DaoImpl的結果,進行處理,將處理結果返回到Bank的請求。
【三級分離,每一部分完成特定的功能,功能操作請求---> 中間轉寄處理--->資料庫操作 使結構清晰】。
3.使用Admin,Customer類作為資料庫中兩張表的映射類。使用對象不僅可以減少資料庫操作的頻繁度【這個項目中客戶功能的部分體現的更明顯】,更能方便功能的添加【例如,增加管理員改密碼功能就很方便了】。
Java串連Oracle資料庫開發銀行管理系統【二、設計篇】