999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SpringBoot+SSM 框架的進銷存管理系統設計與實現

2020-08-12 06:48:08葛萌王穎
科學技術創新 2020年24期
關鍵詞:頁面數據庫信息

葛萌 王穎

(咸陽師范學院 計算機學院,陜西 咸陽712000)

某家具企業隨著經營規模的擴大,目前利用Excel 進行進銷存方面的數據管理已經顯得力不存心,希望借助Web 技術利用網絡處理進銷存方面的數據管理,提高企業的運行效率[1]。同時希望項目能夠快速上線并且后期由企業專人進行維護升級。

本文針對該企業的實際需求,考慮系統的開發效率和可維護性,采用SpringBoot 進行系統開發,利用SSM框架進行分層構建,框架各司其職負責處理某一層的業務,層與層之間解耦合。避免了傳統Web 開發中存在的表示層數據與后臺Java 代碼耦合、開發效率低、難于維護等問題。

1 主要技術

1.1 SpringBoot

Spring Boot 通過自動裝配功能和“約定大于配置”的開發理念能夠極大的提高Java EE 項目的開發效率[2],主要表現在以下方面:

(1)無需定義XML 配置文件。(2)將所有資源打成一個jar包,創建獨立應用的Spring 項目。(3)利用各種starter 啟動器來簡化Maven 的配置,減少對依賴資源的配置。(4)提供生產就緒型功能,如指標,健康檢查和外部配置。(5)提供更多的應用開發模塊及功能。(6)內嵌Web 服務器,項目的發布無需再提供war 包。(7)大量使用注解進行開發。

1.2 SSM框架

SSM框架是Spring + Spring MVC + Mybatis 的整合,是標準的MVC 模式。其中SpringMVC 分離了控制器、模型對象、分派器以及處理程序對象的角色,使其更容易進行定制[3]。Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架,供表現層調用,充當了表現層與持久層間的接口[4]。Mybatis 主要負責數據的持久化操作,支持普通SQL 查詢、存儲過程和高級映射,通過對象關系映射將Java 對象與數據庫中的數據記錄相互轉換,通過開源框架配置文件中的引用與項目中的依賴包的導入,即可將三個框架整合起來實現完整的前后端通信流程[5],整合架構如圖1 所示。

圖1 SSM 架構圖

SSM框架中各配置文件的主要內容如下:

在springMVC.xml 中使用注解模式,掃描所有包中的注解,根據用戶請求,進圖控制器找到相應的RequestMapping 方法,進行邏輯處理;配置靜態資源;配置視圖解析器。

在applicationContext.xml 中配置數據源,連接數據庫;加載mybatis 中的xml 文件,xml 文件在dao 層中,每個實體類對應一個mapper.xml 文件對數據庫進行操作;配置Spring 事務管理器。在web.xml 中加載spring 容器,設置spring 容器加載配置文件的路徑;加載springMVC 的配置;配置防止Spring 內存溢出監聽器;配置編碼問題。

1.3 Redis

由于系統是Web 架構,存在多個銷售員和進貨員同時對系統進行操作的場景。為了提高系統的響應速度,使用Redis 內存數據庫來滿足高并發的要求。在需要對某一商品入庫或出庫時,查詢到該商品的庫存量放入到Redis 中,在用戶請求對該商品出庫時,需要先在Redis 中查詢庫存量是否大于0,若滿足,服務器才能對該請求響應,否則直接響應“當前庫存為0”。每一個員工相當于一個線程,在系統中將系統響應邏輯放入同步塊中,完成高并發的出入庫操作。

2 系統分析與設計

2.1 系統功能模塊設計

根據系統需求分析,系統的總體功能模塊如圖2 所示。

圖2 系統功能模塊圖

(1)員工管理:管理員用來創建員工賬號、初始密碼及角色等信息,可對其進行查詢和刪除操作。員工自身可對密碼、基本信息等進行修改。(2)商品管理:管理員可以對商品進行添加、查詢、修改及刪除操作。也可以對商品按類別、名稱、ID 等進行快速查。(3)入庫管理:管理員或進貨員輸入要入庫的商品號,對其進行入庫操作(若未找到該商品,則需先增加該商品),也可以查看所有的入庫信息和修改某一入庫信息。(4)出庫管理:管理員或售貨員輸入要入庫的商品號,對其進行出庫操作(沒有入庫的商品不能進行出庫操作),以及查看所有的出庫信息或修改某一出庫信息。(5)提醒信息管理:用戶可查看自己已發送、已接收的提醒信息,也可以給其他人發送、回復提醒信息。(6)智能推薦:管理員可查看某時間段內推薦或不推薦的前十商品,推薦依據為該時間段內商品的銷售數量。(7)報表:管理員可按時間、工廠查看相應的商品報表,主要展示時間段內某一廠家商品的營業額及利潤,并將結果以圖表形式展示。(8)數據備份:管理員可對部分核心數據保存到Excel 文件,提高安全性。

2.2 數據庫設計

根據需求分析創建系統需要的相應實體類及其屬性,各實體類創建相應數據庫表存儲數據。創建的表名稱分別為jxc_goods、jxc_manager、jxc_message、jxc_stockin 及 jxc_stockout。員工信息表中的字段:id(員工編號)為主鍵 自增、username(用戶名)、password(用戶密碼) 使用encode 函數進行加密及decode 函數進行解密、role(角色)分為管理員、進貨員、售貨員,用來控制進入系統的不同界面。商品信息表中的字段:id(商品ID)為主鍵,是出入庫表中的外鍵。入庫信息表中的字段:id(入庫編號ID)為主鍵 自增、operator(操作員)為當前登錄系統的員工名稱、time(入庫時間)實在提交入庫信息時獲取的本地時間(日期)。出庫信息表中的字段:id(出庫編號ID)為主鍵 自增、operator(操作員)為當前登錄系統的員工名稱、time(出庫時間)實在提交出庫信息時獲取的本地時間(日期)。站內信表中的字段:message_id(信息編號ID)為主鍵 自增、sender(發送者)為當前登錄系統的員工名稱、time(發送時間)是在提交信息時獲取的本地時間。

本系統中manager 表對應各員工信息,每個員工根據角色不同可進行出入庫操作,也可對其他員工發送信息。出入庫的商品信息需預先存儲在goods 表中,可由多個員工進行多次出入庫。各表間關系如圖3 所示。

圖3 數據庫表關系圖

3 關鍵功能設計

3.1 過濾未登錄用戶

除登錄頁面外不允許有其他頁面或后臺路徑進入到本系統中。用戶通過正常登錄操作將登錄信息保存到session 中,在進行其他操作(如入庫、出庫、回復信息等)都需要從session 中獲取當前登錄用戶信息。如果在session 中沒有發現登錄用戶信息表明該操作沒有通過登錄,需要將請求重定向到登錄頁面;

否則才執行當前的請求。利用過濾器實現上述要求,主要包括定義過濾器實現doFilter 方法和配置過濾器兩個步驟。自定義過濾器類繼承Filter 類,實現其doFilter 方法,核心代碼如下:

通過編碼方式來配置過濾器。 定義WebConfig 類,添加Configuration 注解, 將自定義的過濾器配置到FilterRegistrationBean 中,SpringBoot 在啟動時會創建FilterRegistrationBean 對象從而使過濾器生效,如下代碼所示。

3.2 報表

財務報表分析不僅對于企業財務管理活動有重要意義,對于企業上一周期生產經營活動的評估以及未來企業戰略規劃會產生同樣重要的影響[6]。報表是該系統中最重要的一個模塊,主要依據數據庫中一張入庫表及一張出庫表。表中分別記錄商品的出入庫價格、數量、時間及操作人員,報表就是根據這兩張表中的數據進行計算,從而得到銷售額、利潤等其他信息。

報表分為時間報表及廠家報表,時間報表是通過拿到頁面中管理員輸入的開始時間及結束時間,查找指定時間范圍內所有商品的進貨數、售貨數、進貨金額、售貨金額、退貨數、返廠數及利潤并按照利潤降序,顯示在前端頁面,拿到需要顯示在頁面中的數據選取幾條重要的數據如銷售金額、利潤等,使用echart 技術將重要信息顯示在柱狀圖中。在sql 語句中首先連接入庫及商品表查詢商品信息及該商品在指定時間內的總進價及總進貨數、連接出庫及商品表查詢商品信息及該商品在指定時間內的總售價及總售貨數,將查詢到的兩個結果集進行左連接,在得到的結果集中通過不同字段間的計算得到該行商品對應的利潤、庫存等信息。在連接時如果某結果集無結果則對應字段顯示為空,若為數字類型則顯示為0,得到最終的結果集按利潤降序排序;廠家報表是查找本店在所有廠家中購入的商品數量、商品類型、總進價、利潤等數據,按利潤降序,顯示柱狀圖方式與時間報表相同。時間報表的sql 語句如下:

4 系統實現

4.1 視圖層實現

系統前端采用JSP 視圖技術,并結合多個JS 及CSS 文件對頁面進行布局,完成折疊面板及時間選擇控件的顯示。使用EL表達式顯示Controller 放入到Model 中的數據。對于頁面中需顯示的靜態資源,在該頁面發送請求時不攔截靜態資源路徑,使用${pageContext.request.contextPath}獲取上下文環境訪問靜態資源,也可在springMVC.xml 中配置靜態資源,js 文件的配置如下:

4.2 控制層實現

在springMVC.xml 中使用注解模式,掃描所有包中的注解。編寫ActionController.java 及BackUpController.java 文件,使用@Controller 注解。前臺頁面發來的請求,可通過注解找到請求對應的控制器中的使用@RequestMapping 注解的某一方法,在該方法中接收前臺頁面傳遞的參數并對請求進行邏輯處理,通過調用業務邏輯層實現對數據的增、刪、改、查等操作,方法的返回類型為String,返回頁面名稱。通過springMVC.xml 中配置的視圖解析器返回到該路徑下的相應頁面。注解模式使編程更加簡潔,代碼更加清晰。

4.3 業務邏輯層實現

業務邏輯層中包含每一個實體類的接口,通過實現接口方法完成每個實體類的邏輯處理,例如系統中商品實體需完成增、刪、改、查及快速查詢操作,應在業務邏輯層GoodsService.java 接口中定義操作方法,在GoodsServiceImpl.java 中實現GoodsService.java 接口中的方法,在方法中調用數據持久層并編寫處理邏輯代碼完成頁面的請求。

4.4 數據持久層

使用MyBatis 連接數據庫存儲及變更數據。 在applicationContext.xml 中配置數據源連接數據庫。每一實體類需要對應的mapper.xml 文件,本系統中包含七個實體類的七個映射文件,在映射文件中完成不同操作的sql 語句編寫,可直接對數據庫進行操作。 在 applicationContext.xml 中配置sqlSessionfactory 自動掃描加載dao 層中mapper.xml 文件。從而將頁面傳來的請求數據通過控制器、業務邏輯層處理后在該層對數據庫操作,達到本次請求的目的。

5 結論

利用SpringBoot+SSM 框架設計并實現了一個中小型企業的家具進銷存管理系統,使用SSM框架完成該系統控制層、業務邏輯層和持久層的功能,并達到松散耦合的目的。系統完成了相關的業務功能,達到了企業實際應用的要求。通過實踐表明,本文所使用的整合架構能夠提高Java EE 系統的開發效率和可維護性。

猜你喜歡
頁面數據庫信息
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 久久男人视频| 国产不卡网| 国产伦精品一区二区三区视频优播| 色男人的天堂久久综合| 久久国产精品国产自线拍| 亚洲中文字幕日产无码2021| 看看一级毛片| 亚洲精品色AV无码看| 亚洲国产成人自拍| 国产第四页| 久久久噜噜噜| 影音先锋丝袜制服| 欧美一级特黄aaaaaa在线看片| 91久久夜色精品国产网站 | 色九九视频| 国产幂在线无码精品| 中文无码精品A∨在线观看不卡| 国产精品v欧美| a在线观看免费| 国产91特黄特色A级毛片| 久久影院一区二区h| 欧美成人手机在线观看网址| 国产精品成| 日本亚洲最大的色成网站www| 亚洲啪啪网| 美女被狂躁www在线观看| 精品无码人妻一区二区| 亚洲无线国产观看| 亚洲成人网在线观看| 色播五月婷婷| 在线国产欧美| 热久久综合这里只有精品电影| 色网站免费在线观看| 91在线免费公开视频| 欧美另类精品一区二区三区| 亚洲综合久久成人AV| 2019年国产精品自拍不卡| 久久无码高潮喷水| 特级毛片免费视频| 91蝌蚪视频在线观看| 九九热精品在线视频| 久久综合色播五月男人的天堂| 国产精品网址你懂的| 在线观看国产网址你懂的| 97在线国产视频| 情侣午夜国产在线一区无码| 国产黄网站在线观看| 国产尤物jk自慰制服喷水| 国产成人8x视频一区二区| 久久婷婷五月综合色一区二区| 国产成人8x视频一区二区| 国产激情在线视频| 国产精品九九视频| 午夜视频免费试看| 亚洲欧美自拍视频| 亚洲日韩图片专区第1页| 成色7777精品在线| 午夜一级做a爰片久久毛片| 亚洲欧洲日韩久久狠狠爱| 日韩在线成年视频人网站观看| 国产亚洲精品97在线观看| 色首页AV在线| 人人爽人人爽人人片| 综合色在线| 国产色网站| 热99精品视频| www.狠狠| 欧美在线中文字幕| 成年网址网站在线观看| 自偷自拍三级全三级视频| 特级做a爰片毛片免费69| 国产成人亚洲毛片| 狠狠亚洲婷婷综合色香| 五月激情婷婷综合| 精品在线免费播放| 996免费视频国产在线播放| 精品精品国产高清A毛片| 美女内射视频WWW网站午夜 | 国产9191精品免费观看| 露脸一二三区国语对白| 亚洲天堂网在线观看视频| 老色鬼欧美精品|