文/黃琳 林國欽
由于生活水平的提高,養寵物也成為很多人的一種娛樂消遣的方式,寵物在人類生活中扮演著越來越重要的角色,無形中推動寵物行業的飛速發展。伴隨著全球信息化的發展,寵物實體店經受著一輪又一輪的沖擊。首先,實體店投入成本高,如裝修、采購、人員雇傭、門面選址、租金等都要花一大筆經費;其次,實體店有固定的經營場所,受眾范圍較小;再者,實體店推廣方式單一。最后,受信息化銷售產業的影響,實體店還要面臨著客戶的流失。這時,寵物店的信息化管理和銷售系統呼之欲出,因此,構建一個功能強大、可網上進行管理、銷售、推廣的寵物店管理系統勢在必行。因此本文介紹了一種寵物店管理系統的設計方案,為寵物店的管理和發展提供強有力支持。
SSM框架,是spring + Spring MVC + MyBatis的縮寫,是目前比較主流的Java EE企業級框架,適用于搭建各種大型的企業級應用系統。
Spring是一個開源框架,它是為了解決企業應用開發的復雜性而創建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。而且Spring的用途不僅限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。 簡單來說,Spring是一個輕量級的控制反轉和面向切面的容器框架,它可以兼容許多框架共同完成功能,如SSM、SSH(Spring、Struts、Hibernate)。
Spring MVC分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓它們更容易進行定制。它可用于處理用戶請求,當接收到一個請求是調用相應的controller方法,最后把輸出結果返回到UI層,展示給用戶。其主要的責任就是接收請求和輸出結果,直接與用戶打交道。
MyBatis 是支持普通 SQL 查詢,存儲過程和高級映射的優秀持久層框架。 MyBatis 消除了幾乎所有的 JDBC 代碼和參數的手工設置以及對結果集的檢索。 MyBatis 可以使用簡單的XML 或注解用于配置和原始映射,將接口和 Java 的 POJO( Plain Old Java Objects,普通的Java 對象)映射成數據庫中的記錄。Mybatis主要管理數據庫訪問,對SQL語句控制比較自由,能較好提高數據庫訪問效率。Mybatis以XML文件方式組織管理SQL,而且書寫方便。
三大框架利用Spring容器框架的特性,將Mybatis和SpringMVC通過XML文件的形式整合,形成SSM框架。
對寵物店進行調研,該系統要實現的功能有:寵物的類別管理、寵物的上架、維護、購買和下架,貓糧狗糧等寵物相關產品的管理和維護、流浪貓狗收養和認領、銷售情況的日報周報月報等。
對寵物店需求進行分析、整合,可設定若干個功能模塊:分別是用戶管理、商品管理、流浪寵物公益、寵物養護消息和統計功能等模塊。其中用戶管理模塊中有注冊、登陸和個人信息維護等功能。商品管理功能包括類別管理,商品信息瀏覽、查詢、增加、修改、刪除、購買和下架等,購物車管理包括加入、數量增減、刪除等。流浪寵物公益模塊包括收養登記、領養或認領登記和公示等。用戶交流區平臺功能劃分如圖1所示。

圖1:系統功能

圖2:SSM架構圖
考慮系統功能的特點、可定制和可拓展性等,可將系統劃分為4層:表現層,業務層和持久層、視圖層等。
表現 層(springMVC):Controller層,它負責具體的業務模塊流程的控制,表現層通過要調用Service層的接口來控制業務流程,控制的配置也在Spring配置文件里面。業務層(Spring):Service層,負責業務模塊的邏輯應用設計。首先設計其接口,然后再實現它的實現類。通過對Spring配置文件中配置其實現的關聯,完成此步工作,就可以通過調用Service的接口來進行業務處理。最后通過調用DAO層已定義的接口,去實現Service具體的 實現類。持久層(Mybatis):Dao層。Dao層:負責與數據庫進行交互設計,用來處理數據的持久化工作。DAO層的設計首先是設計DAO的接口,然后在Spring的配置文件中定義此接口的實現類,就可在其他模塊中調用此接口來進行數據業務的處理,而不用關心接口的具體實現類是哪個類,這里用到的就是反射機制, DAO層的數據源配置,以及有關數據庫連接的參數都在Spring的配置文件中進行配置。視圖層:View層,負責前臺Jsp頁面的展示。此層需要與Controller層結合起來開發。

圖3:用戶注冊界面

圖4:用戶注冊數據處理圖
Service層是建立在DAO層和Controller層之間,因而Service層應該既調用DAO層的接口,又要提供接口給Controller層的類來進行調用。每個模型都有一個Service接口,每個接口分別封裝各自的業務處理方法。Controller層與View層的進行了分離,這些都體現了MVC框架的特性,即結構清晰,耦合度低。系統采用這樣的構架能提高移植性和拓展性。該方案的架構圖如圖2所示。
根據系統需求分析和模塊功能對數據庫設計分析,共設計8張數據庫實體表,分別為:用戶信息表(customer)、類別表(typeshop)、商品信息表(goods)、購物車信息表(shopping)、購物記錄表(custshopping)、流浪寵物接受登記信息表(receive)、流浪寵物領養/認領登記信息表(adopt)、流浪寵物接收公示信息表(publicity)。
本系統使用Eclipse、PL/SQL developer等開發軟件, Web服務器采用Tomcat,數據庫為Oracle來實現。下面以用戶注冊功能為例作詳細說明。
用戶注冊需輸入郵箱號、密碼、重復密碼、寄件地址信息,此外還有隱藏的用戶編號、身份狀態兩個輸入項。郵箱需要驗證格式,密碼不得少于六位且與寵物密碼要一致。用戶注冊見圖3。
將數據插入數據庫并返回一個customer(用戶)對象,包含用戶編號、郵箱號、密碼、身份狀態、寄件地址信息。用戶注冊功能的action代碼如下:


用戶注冊數據處理圖如圖4。
該寵物店管理系統從需求到設計都充分考慮了寵物店網上銷售和推廣等需求,基于Java web、采用SSM框架,充分考慮了功能的個性化和定制,程序的移植性和拓展性,從需求和性能都能滿足不同寵物店的需要,達到優化營銷流程,能為廣大寵物店家和寵物主們提供更好更優的服務。