ARP協(xié)議動(dòng)態(tài)交互仿真系統的設計
1.2.3 系統流程圖
為了使用方便,ARP 協(xié)議動(dòng)態(tài)交互仿真系統把三個(gè)角色功能集成在一個(gè)程序中。程序運行時(shí),操作者需為機器選擇規定的角色,再根據角色功能分配,按照定義的流程完成相應的操作。圖4 為ARP 協(xié)議動(dòng)態(tài)交互仿真系統流程圖。
圖4 ARP 協(xié)議動(dòng)態(tài)交互仿真系統流程
2 系統實(shí)現
2.1 ByeSQL 框架簡(jiǎn)介
Java 流行已久,基于jdbc 封裝的持久層框架層出不窮,像Hibernate、Ibatis 等都是功能十分強大的開(kāi)源框架[8]。但是這些開(kāi)源框架對于一些小系統的應用顯得太復雜,配置很麻煩,而且這些框架沒(méi)有真正屏蔽掉SQL 語(yǔ)句的書(shū)寫(xiě):
Hibernate 需要寫(xiě)HQL 語(yǔ)句(和SQL 類(lèi)似),Ibatis 就是一個(gè)sql-Object 映射框架。
ARP 協(xié)議動(dòng)態(tài)交互仿真系統封裝了一個(gè)持久層框架byeSQL,將對數據庫的操作封裝起來(lái),利用統一的約定省去配置文件中的諸多麻煩,借助java 反射機制完成表項和實(shí)體類(lèi)的相互轉換。所有的邏輯控制都由java 代碼去處理。該框架可以應用于大部分小型系統的開(kāi)發(fā)。
持久層框架byeSQL 主要針對MySQL 數據庫,將一些常用的增、刪、改、查操作封裝起來(lái)。使開(kāi)發(fā)人員在做一些小型系統的時(shí)候,不要再去關(guān)心持久層的實(shí)現(也就是不要關(guān)心SQL 代碼),只要導入byeSQL.jar 和MySQL 驅動(dòng)包就可以利用java 代碼操作數據庫,而且配置文件十分簡(jiǎn)單,只需輸入數據庫的用戶(hù)名和密碼即可。不過(guò)使用框架byeSQL 必須遵守一個(gè)約定,表名必須和實(shí)體類(lèi)名一致,字段名必須和實(shí)體類(lèi)的屬性一致,而且實(shí)體類(lèi)必須符合JavaBean 規范。該框架是輕量級的,可以單獨使用也可以和其它框架結合使用。
2.2 主要框架函數
系統持久層框架封裝了10 個(gè)數據庫操作函數,這些操作函數內部關(guān)聯(lián)起來(lái),就能完成對數據庫的增、刪、改、查操作,不需用戶(hù)進(jìn)行干涉。部分操作函數的功能為:
?、賞ublic STatic int selectCount(String beanName):查出表中表項總數(傳入該表對應的bean 全名,返回記錄個(gè)數);
?、趐ublic static List selectPage(String beanName,int start,int size):分頁(yè)查詢(xún)(傳入該表對應的bean 全名、開(kāi)始位置、每頁(yè)顯示記錄條數,返回裝有所查記錄對應的對象實(shí)例列表);
?、踦ublic static List selectOne(String beanName,StringpkName,String pkValue):根據特定字段名和值選出所需記錄(傳入該表對應的bean 全名、特定字段名、特定字段值,返回裝有所查記錄對應的對象實(shí)例列表);
?、躳ublic static List selectAll(String beanName):查出所有記錄(傳入該表對應的bean 全名,返回裝有所查記錄對應的對象實(shí)例的列表);
?、輕ublic static List select(String beanName,String select):
實(shí)現復雜查詢(xún),如關(guān)聯(lián)查詢(xún)和子查詢(xún)等(傳入該表對應的bean 全名、SQL 語(yǔ)句,返回裝有所查記錄對應的對象實(shí)例的列表)。
3 結語(yǔ)
該系統實(shí)現了ARP 協(xié)議的動(dòng)態(tài)交互仿真,完成了ARP協(xié)議整個(gè)工作過(guò)程的模擬實(shí)現,通過(guò)動(dòng)態(tài)交互操作,能夠讓學(xué)習者更輕松地學(xué)習和掌握ARP 協(xié)議。系統通過(guò)封裝一個(gè)持久層框架,實(shí)現針對MySQL 數據庫的基本增刪操作,做到使用戶(hù)不需寫(xiě)SQL 語(yǔ)句,利用java 代碼就可以操作MySQL 數據庫。
評論