国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SSM的自治區(qū)藥檢院綜合數(shù)據(jù)庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2022-05-30 10:48王靜蔣晨昊
電腦知識(shí)與技術(shù) 2022年16期

王靜 蔣晨昊

摘要:隨著科學(xué)技術(shù)的不斷發(fā)展和進(jìn)步,計(jì)算機(jī)信息系統(tǒng)管理與技術(shù)規(guī)模日益壯大。如今,各個(gè)領(lǐng)域的專(zhuān)業(yè)人員已經(jīng)廣泛了解并熟悉得知現(xiàn)代信息的管理及技術(shù),在計(jì)算機(jī)領(lǐng)域發(fā)展也逐步走到在行業(yè)前列。計(jì)算機(jī)管理技術(shù)應(yīng)用已經(jīng)深深融入各行各業(yè)當(dāng)中,充當(dāng)著十分重要的角色。用計(jì)算機(jī)進(jìn)行管理具有足夠多的優(yōu)點(diǎn):信息檢索效率大大提高、信息查找方便、運(yùn)行結(jié)果可靠、能夠存儲(chǔ)更多信息、保密性高、成本低等優(yōu)點(diǎn)。該系統(tǒng)使用SSM(Spring+SpringMVC+Mybatis)框架,用Navicat for MySQL軟件來(lái)進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),它完全可以兼容多種操作系統(tǒng),并且采用了完全面向?qū)ο蟮亩嗑€(xiàn)程編程,運(yùn)行速度相對(duì)更快。

關(guān)鍵詞:SSM框架;MySQL;后臺(tái)管理系統(tǒng)

中圖分類(lèi)號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2022)16-0014-05

1 引言

在當(dāng)今信息化快速發(fā)展的時(shí)代,互聯(lián)網(wǎng)技術(shù)在各個(gè)領(lǐng)域嶄露頭角,影響著人們生活的方方面面。本文設(shè)計(jì)并開(kāi)發(fā)基于現(xiàn)代互聯(lián)網(wǎng)技術(shù)的自治區(qū)藥檢院綜合數(shù)據(jù)庫(kù)管理系統(tǒng),通過(guò)對(duì)大量不同類(lèi)別的執(zhí)行標(biāo)準(zhǔn)、報(bào)告書(shū)等文件進(jìn)行統(tǒng)一管理,使效率更加高效,文件管理更加準(zhǔn)確[1]。

2 需求分析

基于SSM的自治區(qū)藥檢院綜合數(shù)據(jù)庫(kù)管理系統(tǒng)提供一個(gè)可供用戶(hù)、管理員使用的后臺(tái)實(shí)時(shí)管理系統(tǒng),該系統(tǒng)在開(kāi)發(fā)過(guò)程中前后端不分離,使項(xiàng)目更容易進(jìn)行。該系統(tǒng)功能主要被分為如下兩大類(lèi)部分:管理員和普通用戶(hù)。其中管理員又分為最高等級(jí)管理員和模塊管理員,最高等級(jí)管理員負(fù)責(zé)對(duì)所有用戶(hù)、所有文件進(jìn)行管理操作,模塊管理員單獨(dú)對(duì)一個(gè)模塊進(jìn)行管理操作;普通用戶(hù)實(shí)現(xiàn)對(duì)文件的查看、收藏等功能[2]。本系統(tǒng)根據(jù)需求進(jìn)行如下設(shè)計(jì):

1)網(wǎng)站主頁(yè):用于用戶(hù)登錄、注冊(cè)等操作。

2)管理系統(tǒng)頁(yè)面:對(duì)該用戶(hù)個(gè)人信息進(jìn)行管理、并且包含執(zhí)行標(biāo)準(zhǔn)庫(kù)、資質(zhì)庫(kù)、報(bào)告書(shū)原始記錄庫(kù)、原始記錄模板庫(kù)模塊內(nèi)容,分別用于對(duì)不同信息進(jìn)行管理。

3)各個(gè)模塊都包含文件上傳及下載功能,用于實(shí)現(xiàn)對(duì)不同文件的管理操作,同時(shí)包含對(duì)過(guò)期/作廢文件的處理操作。

4)系統(tǒng)程序代碼統(tǒng)一,方便之后的系統(tǒng)維護(hù)升級(jí)。

3 主要技術(shù)介紹

3.1 SSM簡(jiǎn)介

SSM框架,即Spring+Spring和MVC+MyBatis的有效整合,搭建廣泛應(yīng)用于目前各種大型復(fù)雜的企業(yè)級(jí)開(kāi)發(fā)應(yīng)用的系統(tǒng)環(huán)境中,當(dāng)前國(guó)內(nèi)比較廣泛盛行的主要是Java EE企業(yè)級(jí)框架[3]。Spring就像是在整個(gè)項(xiàng)目庫(kù)環(huán)境中被用來(lái)裝配的JavaBean的一個(gè)大數(shù)據(jù)工廠,在這個(gè)配置的文件庫(kù)中可以直接指定對(duì)象并通過(guò)使用其中一些特定對(duì)象類(lèi)型中的參數(shù)去調(diào)用實(shí)體類(lèi)的構(gòu)造方法來(lái)實(shí)例化對(duì)象; SpringMVC的核心作用是攔截用戶(hù)請(qǐng)求,作為承擔(dān)中介或是前臺(tái)這樣的職責(zé)的核心是Servlet,即DispatcherServlet,它將用戶(hù)發(fā)送的請(qǐng)求信息都能通過(guò)HandlerMapping功能去自動(dòng)地匹配Controller,Controller就是具體的對(duì)應(yīng)于每個(gè)請(qǐng)求層所能被執(zhí)行到的操作,最終會(huì)把每個(gè)Model層執(zhí)行的最終結(jié)果自動(dòng)地返回給每個(gè)用戶(hù);MyBatis是一個(gè)對(duì)JDBC層的封裝[4]。

3.2 JDBC簡(jiǎn)介

JDBC是Java語(yǔ)言開(kāi)發(fā)中的用來(lái)規(guī)范客戶(hù)端程序如何快速訪問(wèn)數(shù)據(jù)庫(kù)資源的一個(gè)應(yīng)用程序接口,提供了一系列諸如快速查詢(xún)數(shù)據(jù)庫(kù)和快速更新數(shù)據(jù)庫(kù)資源中的數(shù)據(jù)等的操作方法。JDBC接口作為一種低端數(shù)據(jù)庫(kù)接口,能夠直接實(shí)現(xiàn)在數(shù)據(jù)庫(kù)上快速運(yùn)用的SQL命令語(yǔ)句操作。而且,在EJB、容器持續(xù)以及JMS等調(diào)用方式環(huán)境下,JDBC也能夠間接地通過(guò)對(duì)My SQL的數(shù)據(jù)庫(kù)進(jìn)行操作來(lái)自動(dòng)實(shí)現(xiàn)這些高級(jí)數(shù)據(jù)庫(kù)調(diào)用。

3.3 MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介

數(shù)據(jù)庫(kù)在信息管理系統(tǒng)中作為關(guān)鍵的一環(huán),通常被看作系統(tǒng)的核心?;赟SM的自治區(qū)藥檢院綜合數(shù)據(jù)庫(kù)管理系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)來(lái)幫助進(jìn)行更高效的數(shù)據(jù)管理。其中,MySQL數(shù)據(jù)庫(kù)由于其數(shù)據(jù)體積量小、速度快等獨(dú)特優(yōu)點(diǎn)目前已經(jīng)成功在國(guó)際很多電子商務(wù)領(lǐng)域嶄露頭角[5-6]。數(shù)據(jù)庫(kù)管理系統(tǒng)和接口如圖1所示。

4 系統(tǒng)設(shè)計(jì)

4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)

系統(tǒng)使用MySQL數(shù)據(jù)庫(kù)建立了6張數(shù)據(jù)表,分別是用戶(hù)表、收藏表、執(zhí)行標(biāo)準(zhǔn)表、資質(zhì)庫(kù)表、報(bào)告書(shū)記錄庫(kù)表、原始模板庫(kù)表。主要數(shù)據(jù)庫(kù)表介紹如下:

1)用戶(hù)表。用戶(hù)表主要記錄自治區(qū)藥檢院綜合數(shù)據(jù)庫(kù)管理員及用戶(hù)的信息,如用戶(hù)名username、真實(shí)姓名rname、所屬分類(lèi)usrp、密碼password、權(quán)限status等。

2)收藏表。收藏表主要針對(duì)用戶(hù)使用,其中包含兩個(gè)字段userid,shoucangbiaoid。前者用來(lái)記錄當(dāng)前用戶(hù)的id,后者記錄當(dāng)前用戶(hù)所收藏的文件編號(hào),方便用戶(hù)進(jìn)行查看。

3)執(zhí)行標(biāo)準(zhǔn)表。執(zhí)行標(biāo)準(zhǔn)表用來(lái)記錄各分類(lèi)執(zhí)行標(biāo)準(zhǔn)文件信息,如成冊(cè)書(shū)名、執(zhí)行標(biāo)準(zhǔn)編號(hào)、標(biāo)準(zhǔn)名稱(chēng)、類(lèi)別、發(fā)行日期、到期日期等。

4)資質(zhì)庫(kù)表。資質(zhì)庫(kù)表用來(lái)記錄資質(zhì)庫(kù)信息,如類(lèi)別、參數(shù)、樣品名稱(chēng)、標(biāo)準(zhǔn)編號(hào)等。

5)報(bào)告書(shū)記錄庫(kù)表。報(bào)告書(shū)記錄庫(kù)表用來(lái)記錄報(bào)告書(shū)信息,如報(bào)告書(shū)編號(hào)、樣品名稱(chēng)等。

6)原始模板庫(kù)表。原始模板庫(kù)表主要記錄原始記錄信息,如項(xiàng)目名稱(chēng)、受控編號(hào)、實(shí)施時(shí)間等。

4.2 功能模塊設(shè)計(jì)

系統(tǒng)根據(jù)其主要功能介紹可以分為4個(gè)基本系統(tǒng)模塊:公共模塊、用戶(hù)模塊、管理員模塊、子管理員模塊。功能模塊系統(tǒng)的一般設(shè)計(jì)及方法流程圖如圖2所示。系統(tǒng)總體功能的技術(shù)需求研究和方案分析總體流程如下:

1)公共模塊:用戶(hù)可通過(guò)注冊(cè)/登錄進(jìn)入系統(tǒng)(新注冊(cè)用戶(hù)需要管理員授權(quán)方可進(jìn)行正常登錄),管理員通過(guò)登錄進(jìn)入系統(tǒng),根據(jù)不同用戶(hù)權(quán)限進(jìn)入不同系統(tǒng)頁(yè)面。

2)用戶(hù)模塊:通過(guò)公共模塊進(jìn)入系統(tǒng)后,用戶(hù)界面展示個(gè)人信息管理、執(zhí)行標(biāo)準(zhǔn)庫(kù)信息、資質(zhì)庫(kù)信息、報(bào)告書(shū)記錄庫(kù)信息、原始模板庫(kù)信息。用戶(hù)可對(duì)自身個(gè)人信息進(jìn)行修改操作,包括真實(shí)姓名、密碼、簡(jiǎn)介等。并且可查看其余模塊的文件信息以及上傳文件內(nèi)容,不具備編輯、修改、下載等功能。而對(duì)于報(bào)告書(shū)記錄庫(kù)來(lái)說(shuō),用戶(hù)只能查看自己授權(quán)簽字的報(bào)告書(shū)信息。

3)管理員模塊:通過(guò)公共模塊進(jìn)入系統(tǒng),負(fù)責(zé)管理所有用戶(hù)的信息,權(quán)限分配等,負(fù)責(zé)對(duì)執(zhí)行標(biāo)準(zhǔn)庫(kù)信息、資質(zhì)庫(kù)信息、報(bào)告書(shū)記錄庫(kù)信息、原始模板庫(kù)信息進(jìn)行添加、修改、刪除等工作,并且可對(duì)文件進(jìn)行上傳下載等操作。

4)子管理員模塊:通過(guò)公共模塊進(jìn)入系統(tǒng),負(fù)責(zé)對(duì)自身文件進(jìn)行管理。如只可對(duì)執(zhí)行標(biāo)準(zhǔn)庫(kù)信息進(jìn)行添加、編輯、刪除等操作。

4.3 功能描述

1)公共模塊

①注冊(cè)頁(yè)面。注冊(cè)頁(yè)面包括用戶(hù)名、用戶(hù)分組、真實(shí)姓名、密碼、確認(rèn)密碼。注冊(cè)成功后才可以進(jìn)行登錄。

實(shí)現(xiàn)過(guò)程:通過(guò)form請(qǐng)求,輸入上述對(duì)應(yīng)信息后通過(guò)@RequestMapping注解信息傳遞到Controller層實(shí)現(xiàn)對(duì)數(shù)據(jù)轉(zhuǎn)發(fā)功能,Controller層代碼如下:

@RequestMapping(value = "/register.do",method = RequestMethod.POST)

@ResponseBody

public int register(String uname,String usrp,String rname, String upwd){

Map map = new HashMap<>();

map.put("uname",uname);

map.put("usrp",usrp);

map.put("rname",rname);

map.put("upwd",upwd);

int register = userServiceImpl.register(map);

if(register==0)

return 0;

else

return 1;

}

之后通過(guò)Dao層與數(shù)據(jù)庫(kù)交互,數(shù)據(jù)庫(kù)添加該用戶(hù)信息。Dao層代碼如下:

@Override

public int register(Map obj){

SqlSession sqlSession = sqlSessionFactoryBean.openSession(true);

String sql="com.isoft.mapping.User.register";

int insert = sqlSession.insert(sql, obj);

sqlSession.close();

return insert;

}

②登錄頁(yè)面。登錄頁(yè)面信息主要包括登錄用戶(hù)名、密碼、驗(yàn)證碼以及重置操作。登錄成功后進(jìn)入對(duì)應(yīng)模塊。

實(shí)現(xiàn)過(guò)程:通過(guò)輸入用戶(hù)名、密碼、驗(yàn)證碼,由@RequestMapping注解傳遞Controller層實(shí)現(xiàn)對(duì)數(shù)據(jù)轉(zhuǎn)發(fā)功能,之后傳遞至Dao層與數(shù)據(jù)進(jìn)行交互。具體Controller層、Dao層代碼如下:

@RequestMapping(value = "/login.do",method = RequestMethod.POST)

@ResponseBody

public Map login(String uname, String upwd, HttpSession session){

Map login = userServiceImpl.login(uname, upwd);

Map map = new HashMap<>();

if(login==null){

map.put("loginmsg",0);

return map;

}else{

map.put("loginmsg",1);

map.put("userid",login.get("user_id").toString());

map.put("rname",login.get("rname"));

map.put("download",login.get("download"));

session.setAttribute("userid",login.get("user_id").toString());

map.put("status",login.get("status").toString());

session.setAttribute("status",login.get("status").toString());

if(login.get("photo")==null||login.get("photo").toString().equals(""))

map.put("photo","myphoto/myphoto.jpg");

else

map.put("photo",login.get("photo").toString());

/* System.out.println(JSON.toJSONString(map));*/

return map;

}

}

@Override

public Map login(String uname, String upwd){

SqlSession sqlSession = sqlSessionFactoryBean.openSession(true);

String sql="com.isoft.mapping.User.login";

Map map = new HashMap<>();

map.put("uname",uname);

map.put("upwd",upwd);

Map rscount =sqlSession.selectOne(sql,map);

sqlSession.close();

return rscount? ;

}

2)用戶(hù)模塊

用戶(hù)模塊是用戶(hù)對(duì)自身個(gè)人信息進(jìn)行管理以及對(duì)各類(lèi)文件的查看、收藏功能。

①用戶(hù)可以對(duì)自身真實(shí)姓名、出生日期、密碼、頭像進(jìn)行修改功能。頭像上傳Controller核心代碼如下:

String fileName = file.getOriginalFilename();

String extName = fileName.substring(fileName.lastIndexOf("."));

List list = new ArrayList();

list.add(".jpg");

list.add(".png");

list.add(".gif");

list.add(".bmp");

list.add(".jpeg");

if (list.contains(extName.toLowerCase())){

String realPath = session.getServletContext().getRealPath("myphoto");

String photoFileName = new Date().getTime()+ extName;//使用時(shí)間戳進(jìn)行文件命名

String descPath = realPath + "/" + photoFileName;

System.out.println(descPath);

file.transferTo(new File(realPath, photoFileName));

//圖片路徑和文件名稱(chēng)保存到數(shù)據(jù)庫(kù)中

//根據(jù)用戶(hù)ID更新頭像

int i = userServiceImpl.updateUserPhoto(userid, "myphoto/"? + photoFileName);

②用戶(hù)擁有對(duì)各類(lèi)文件進(jìn)行查看、收藏的功能。其中收藏功能核心代碼如下:

if(iscollect>0){

$.ajax({

url: "file/cancelcollectFile.do",

method: "post",

dataType:"json",

data: {

"id": id,

"userid": sessionStorage.getItem("user_id"),

},

success: function (data){

if(data.code==0){

tr.children('td').eq(1).find(".layui-icon").attr("class","layui-icon layui-icon-star");

tr.children('td').eq(1).find(".layui-icon").attr("title","收藏文件");

}

if(data.code!=0){

layui.table.reload("id", {

where: {

"client_upload_user": sessionStorage.getItem("user_id")

}

});

layer.msg(data.msg, {icon: 2,time:2000});

return;

}

}, error: function (){

layer.msg('請(qǐng)求服務(wù)器失?。?, {icon: 2});

return;

}

3)管理員模塊

管理員模塊主要功能分為以下幾點(diǎn):

①對(duì)用戶(hù)信息進(jìn)行修改,賦予或取消用戶(hù)登錄權(quán)限、下載文件權(quán)限。

②對(duì)各類(lèi)文件進(jìn)行添加、修改、刪除功能。

③對(duì)文件進(jìn)行上傳、修改或?qū)ξ募畔⑦M(jìn)行覆蓋功能。

④實(shí)現(xiàn)Excel數(shù)據(jù)上傳功能,但需嚴(yán)格按照提供模板進(jìn)行操作。

在這里,我們展示上傳文件、Excel數(shù)據(jù)上傳主要功能代碼,詳細(xì)如下:

上傳文件核心代碼:

String sql = "com.isoft.mapping.File.insertBgsFileInfo";

//上傳文件

String realPath = session.getServletContext().getRealPath("/Bgs/");

path=(realPath+ UUID.randomUUID()+file.getOriginalFilename());

String newpath=path.replace("\\","/");

file.transferTo(new File(newpath));

//錄入信息

bgsInfo.setBaocundizhi(newpath);

int update = sqlSession.insert(sql, bgsInfo);

sqlSession.commit();

String sc="succ";

sqlSession.close();

return sc;

Excel數(shù)據(jù)上傳核心代碼:

InputStream is = file.getInputStream();? ? ? ? ?HashMap>>> key1 = this.ReadExcel(is);

is.close();

is = null;

ZZKInfo ci = new ZZKInfo();

for (String a : key1.keySet()){

HashMap>> key2 = key1.get(a);

//System.out.println("Key = " + a + ", Value = " + key2);

ci.setLeibie(a);

for (String b : key2.keySet()){

HashMap> key3 = key2.get(b);

ci.setPinzhong(b);

for (String c : key3.keySet()){

HashMap key4 = key3.get(c);

ci.setCanshu(c);

for (String d : key4.keySet()){

String key5 = key4.get(d);

ci.setJiancebiaozhunmingcheng(key5);

ci.setBiaozhunbianhao(d);

int da=clientServiceImpl.uploadClient(ci);

}

}

}

}

4)子管理員模塊

子管理員模塊僅是對(duì)其中任意一類(lèi)的文件進(jìn)行權(quán)限管理,其最主要的功能與最高級(jí)管理員模塊操作相同。包括對(duì)文件的添加、修訂、刪除、上傳、查看、下載等操作。以執(zhí)行標(biāo)準(zhǔn)為例:子管理員僅對(duì)執(zhí)行標(biāo)準(zhǔn)進(jìn)行管理,可以對(duì)成冊(cè)書(shū)名、執(zhí)行標(biāo)準(zhǔn)編號(hào)、標(biāo)準(zhǔn)名稱(chēng)、類(lèi)別、發(fā)行日期、有效期、狀態(tài)等字段進(jìn)行管理。具體如圖3所示:

4.4 系統(tǒng)交互圖

系統(tǒng)架構(gòu)中的工作流程:用戶(hù)在發(fā)送權(quán)限請(qǐng)求完畢后,由業(yè)務(wù)代理者將給權(quán)限管理者發(fā)送一條權(quán)限驗(yàn)證請(qǐng)求,權(quán)限管理者同時(shí)將接到請(qǐng)求發(fā)送給業(yè)務(wù)邏輯代理者,驗(yàn)證無(wú)誤后,將驗(yàn)證請(qǐng)求轉(zhuǎn)交到業(yè)務(wù)對(duì)象,否則返回消息。對(duì)于異常數(shù)據(jù)處理操作,異常數(shù)據(jù)處理操作對(duì)象可以將各種意外情況導(dǎo)致的故障信息進(jìn)行分析處理,然后將異常處理分析結(jié)果自動(dòng)返回到業(yè)務(wù)邏輯,最后再把故障數(shù)據(jù)處理操作結(jié)果返回到用戶(hù)界面,響應(yīng)用戶(hù)請(qǐng)求。系統(tǒng)架構(gòu)交互圖如圖4所示。

5 系統(tǒng)測(cè)試

對(duì)于軟件系統(tǒng)來(lái)說(shuō),由于系統(tǒng)測(cè)試要保障系統(tǒng)的穩(wěn)定運(yùn)行以及對(duì)系統(tǒng)安全性能評(píng)估,所以在系統(tǒng)開(kāi)發(fā)中最重要的部分即為系統(tǒng)測(cè)試。由于系統(tǒng)測(cè)試的目的是保障系統(tǒng)安全穩(wěn)定地運(yùn)行,則系統(tǒng)測(cè)試就應(yīng)該著重檢測(cè)系統(tǒng)中bug概率較大的區(qū)域以及項(xiàng)目中較為復(fù)雜的代碼部分。由此可見(jiàn),測(cè)試的目的就是在系統(tǒng)運(yùn)行過(guò)程中及時(shí)找出bug并且提供相應(yīng)的解決辦法的階段。基于SSM的自治區(qū)藥檢院綜合數(shù)據(jù)庫(kù)管理系統(tǒng)各模塊主要測(cè)試如下。

5.1 登錄功能測(cè)試(不包含驗(yàn)證碼)

5.2 用戶(hù)模塊測(cè)試

5.3 管理員模塊測(cè)試

5.4 子管理員模塊測(cè)試

5 結(jié)束語(yǔ)

自治區(qū)藥檢院綜合數(shù)據(jù)庫(kù)管理系統(tǒng)采用SSM+Tomcat+MySQL,基于SSM框架,更加方便地對(duì)大量文件進(jìn)行管理分類(lèi),大大節(jié)省了辦公人員的時(shí)間,讓用戶(hù)得到更大的便利。本系統(tǒng)很好地實(shí)現(xiàn)當(dāng)前所需的功能,并且頁(yè)面簡(jiǎn)潔,方便用戶(hù)操作,但仍有需要改進(jìn)的地方,在后續(xù)的工作中會(huì)根據(jù)用戶(hù)、管理員的需要添加相應(yīng)的功能,讓系統(tǒng)更加完善,并且會(huì)不斷進(jìn)行優(yōu)化、維護(hù),給用戶(hù)帶來(lái)更好的體驗(yàn)。

參考文獻(xiàn):

[1] 邢靜,王志剛,徐章博.基于SSM框架的文檔一體化管理系統(tǒng)研究[J].甘肅科技,2020,36(22):19-22.

[2] 劉茜穎,張艷紅.基于SSM的線(xiàn)上教育系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2021(10):45-46,59.

[3] 周游,張國(guó)華.基于SSM框架智慧養(yǎng)老系統(tǒng)設(shè)計(jì)[J].軟件,2021,42(10):47-49.

[4] 張弛,樸順姬.基于SSM框架的供暖收費(fèi)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2021,17(9):66-67,70.

[5] 鄒林辰.基于SSM的酒店管理系統(tǒng)開(kāi)發(fā)[J].科學(xué)技術(shù)創(chuàng)新,2020(32):55-56.

[6] 楊子鑫,余小蘭.基于SSM的農(nóng)產(chǎn)品銷(xiāo)售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代信息科技,2021,5(15):33-35,39.

【通聯(lián)編輯:謝媛媛】