張丹丹
摘要:目前我院使用紙質錄入各項耗材物料的出入臺帳,該項目打破這一傳統的方式,基于eclipse、SQL Server2005、jboss等軟件的關聯應用,編寫出耗材管理的網頁式平臺。項目編寫主要分為服務器端和網頁端的代碼。本文主要圍繞服務器端的代碼展開,大至包含數據庫鏈接、excel導入導出的操作包、業(yè)務邏輯主要包括:耗材采購、耗材領用、耗材信息、耗材庫存等四個封裝類。
關鍵詞:耗材管理;數據庫鏈接;耗材信息;eclipse;SQL Server2005;jboss
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2019)31-0027-02
物料管理網頁平臺使用jbOSS搭載應用服務器,提供客戶端動態(tài)網頁的訪問。項目主要功能集中在Java Resources的src文件夾和WebContent文件夾中。如圖1所示:
以下主要解析該服務器端的構架過程:
1數據庫鏈接
邏輯業(yè)務與相關數據連接放置在Java Resources文件夾下Src文件夾中。
1)Com.db主要實現字符大數據轉換字符型和數據庫連接的功能。ClobToStringResuhSet類實現字符轉換功能,此類中使用ProxyFactory代理工廠實現代理。
2)DBConnection類實現數據庫連接。它實現iava.i0.Serial-izable接口,實現了是否連接和關閉連接方法。在getConnection()中,使用上下文Context類,該類在此是jboss與iava間接口,Da-taSource ds=(DataSource)ctx.lookup(IsJDBC)該句通過上下文將相關數據源信息加載至ds,隨后再獲取連接。
3)接著寫了四個數據庫查詢及處理方法:querySQLO執(zhí)行SQL語句并返回結果,QreryRunner類協同ResuhSetHandler簡化SQL查詢和存儲過程代碼。executeSQL()執(zhí)行insert delete-update,返回布爾值。executeSQLReturnID()與executeSQL()類似,且返回自動增量。executeBatchSQL()可以執(zhí)行一連串的sql語句若其中有一條sql出錯,就會全部回滾,用了sqlserver的事務回滾。四個方法都用到數據庫操作Statement類。
綜上所述,con.db是存放數據庫連接.java。(1)本段程序先創(chuàng)建DBConnection類,使用序列化接口,便于數據的讀寫操作。(2)在該類寫入getConnection(),因為jboss啟動的時候把數據庫相關信息加載到上下文中,所以此處通過上下文接口,找到名稱對應的數據庫。(3)寫入ListquerySQL(String lsSql)用來執(zhí)行sql語句并返回結果集,在此方法中使用DBUtils組件提供的QueryRunner類中query(Connection conn,String sql,Re-suhSetHandler rsh),將數據庫中查詢的結果存放到list集合中,該方法可以簡化sql查詢。(4)寫入boolean executeSQL(StringlsSql),實現插入、刪除、更新操作。首先調用createStatement0創(chuàng)建一個Statement對象,用于將SQL語句發(fā)送至數據庫,然后使用execute(),執(zhí)行SQL語句。(5)方法public int executeSQLRetur-nID(String lsSql)調用executeUpdate()返回更新數量。
2excd工具類包
1)Com.excd相關包存放導出導入excel表格業(yè)務,如我在ExcelMap類中描述excel標題行列等相關操作;在ExcelOb-iect類中寫入excel具體操作如獲取、設置單元格內容的方法,iava程序與excel行列號相互轉換的方法,刪除插入行列方法和其他相關規(guī)則等;在ExcdRepo~中寫人excel模板報表相關操作,如果需要設置參數,格式為JSON字符串格式,具體可以在相關的Excel模板中設置一個Sheet,可為sheet每一行設一個參數,也可為每個單元格設參數。
2)Com.excel.helper大部分從Apache網站上導人的相關Excel操作包,諸如單元格層的輔助類,行和頁面層的輔助類等。
3業(yè)務邏輯類
1)Hc.object包為耗材采購類、耗材產品類、耗材庫存類、耗材領用類,四個類均封裝成了javabean類。每個類都實現java.i0.Serializable接口,用于實現序列化,便于傳送和保存到數據庫,實現對象持久化。四個類中創(chuàng)建對應數據庫表的各字段變量,如耗材編號、耗材名稱、庫存數量、領用人等變量。
getHccgList(Map param)是根據頁面參數param篩選采購清單,如根據起始日期、截止日期、查詢內容等查找鍵值,合成SQL語句執(zhí)行并返回結果。使用PageList(total_list,liPage,liRows)進行分頁,并使用Put()將行字段關聯數據庫,用于保存頁面合計數據。
getHccgDataForm(Map param,HttpSession session)是根據序號提取采購記錄。此段程序中,首先判斷序號,如果序號為0,則數據庫為空,初始化之前封裝的耗材采購類,因為該類為.a_vabean,因此使用BeanToMap(oHcCgxx)轉換成前端頁面支持的map類,并賦初始值。如果序號不為0,則執(zhí)行相關SQL語句,取出對應的記錄,并將相關日期格式規(guī)范化即可。根據序號提取采購信息程序如圖2。