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頁面導航技術
主站蜘蛛池模板: 日本道综合一本久久久88| 99久久精品免费看国产免费软件 | 一级毛片在线播放免费| 一本久道热中字伊人| 成人午夜福利视频| 91久久夜色精品| 风韵丰满熟妇啪啪区老熟熟女| 国产成人1024精品| 国产在线精品美女观看| 91www在线观看| 国产一区二区三区日韩精品| 97超爽成人免费视频在线播放| 亚洲午夜天堂| 亚洲黄网在线| www.99在线观看| 亚洲国产第一区二区香蕉| 欧美精品影院| 日本欧美一二三区色视频| 久久9966精品国产免费| 在线无码av一区二区三区| 亚洲综合色婷婷中文字幕| 萌白酱国产一区二区| 国产亚洲精久久久久久久91| 人妻中文字幕无码久久一区| 国产二级毛片| 朝桐光一区二区| 伊人久久大线影院首页| 日本高清免费不卡视频| 成人午夜久久| 91久久夜色精品国产网站| 中文字幕无码制服中字| 亚洲第一天堂无码专区| 亚洲另类国产欧美一区二区| 91精品综合| 91福利免费视频| 91精品综合| 波多野结衣一区二区三视频| 欧美色香蕉| 一区二区三区高清视频国产女人| 伊人色在线视频| 亚洲妓女综合网995久久| 亚洲精品男人天堂| 成人在线观看不卡| 华人在线亚洲欧美精品| 国产丝袜第一页| 亚洲无码视频一区二区三区| 又大又硬又爽免费视频| 伊人福利视频| 精品小视频在线观看| 国产亚洲精久久久久久无码AV| 国产二级毛片| 国产成人综合久久精品尤物| 国产精品无码一区二区桃花视频| 丁香婷婷久久| 久久黄色免费电影| 永久免费AⅤ无码网站在线观看| 人妻少妇久久久久久97人妻| 中文字幕乱妇无码AV在线| 久久亚洲黄色视频| 国产视频 第一页| 伊人中文网| 制服丝袜一区| 91亚洲精品国产自在现线| 国产毛片高清一级国语| 中文字幕永久视频| 日韩精品成人在线| 欧美国产综合色视频| 看国产毛片| 国产微拍一区二区三区四区| 九色视频线上播放| 精品久久久久久久久久久| 久久精品人人做人人综合试看| 亚洲美女一区| 国产日韩久久久久无码精品 | 在线高清亚洲精品二区| 精品国产aⅴ一区二区三区| 日韩麻豆小视频| 114级毛片免费观看| 国产国模一区二区三区四区| 色哟哟国产精品| 国产成人超碰无码| 91在线播放免费不卡无毒|