摘要:21世紀(jì)為信息技術(shù)時(shí)代,在此背景下促進(jìn)了計(jì)算機(jī)技術(shù)的發(fā)展,并且使用范圍在不斷擴(kuò)展。在計(jì)算機(jī)技術(shù)發(fā)展的基礎(chǔ)上,也使數(shù)據(jù)庫(kù)管理技術(shù)有了進(jìn)一步發(fā)展,此技術(shù)為現(xiàn)代數(shù)據(jù)管理主要技術(shù)工具。Java數(shù)據(jù)庫(kù)開發(fā)和使用就是基于此技術(shù)所發(fā)展的,所以文章對(duì)基于Java開發(fā)的數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行分析。
關(guān)鍵詞:JAVA開發(fā);數(shù)據(jù)庫(kù);數(shù)據(jù)庫(kù)遷移
中國(guó)分類號(hào):TP311? ? ?文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1009-3044(2022)17-0019-03
Java屬于程序設(shè)計(jì)語(yǔ)言,在實(shí)際使用的過(guò)程中能夠利用JDBC實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪問(wèn),利用創(chuàng)建有效連接通過(guò)SQL訪問(wèn)實(shí)現(xiàn)查詢和處理,從而得到處理結(jié)果。通過(guò)JDBC實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪問(wèn)能夠保證訪問(wèn)安全性和數(shù)據(jù)得到的可靠性。但是,此訪問(wèn)方式的效率比較低,無(wú)法在企業(yè)中大范圍使用。所以,要想使此問(wèn)題得到解決,就要深入研究程序設(shè)計(jì)語(yǔ)言,創(chuàng)建有效數(shù)據(jù)庫(kù)。
1 Java數(shù)據(jù)庫(kù)和應(yīng)用框架的聯(lián)系
在科學(xué)技術(shù)不斷發(fā)展的過(guò)程中,軟件的開發(fā)使用也越來(lái)越迅速。但是,大部分軟件都是使用自己的代碼開發(fā),應(yīng)用框架在軟件行業(yè)中二次使用,在java數(shù)據(jù)庫(kù)開發(fā)行業(yè)中廣泛使用。基于java數(shù)據(jù)庫(kù)應(yīng)用框架的使用具有多種優(yōu)勢(shì),能夠提高任務(wù)執(zhí)行的相同性,便于工作人員的夾層處理,降低開發(fā)風(fēng)險(xiǎn),將數(shù)據(jù)庫(kù)復(fù)雜的操作隱藏。通過(guò)多個(gè)小部件和一個(gè)端口構(gòu)成應(yīng)用框架,實(shí)現(xiàn)分析器的存儲(chǔ),對(duì)數(shù)據(jù)庫(kù)應(yīng)用框架的文件進(jìn)行分析。在連接java數(shù)據(jù)庫(kù)過(guò)程中,還能夠有效連接數(shù)據(jù)庫(kù)程序,提供給應(yīng)用框架標(biāo)準(zhǔn)化的連接方式,從而實(shí)現(xiàn)標(biāo)準(zhǔn)化連接[1]。
2 JDBC技術(shù)的使用
2.1 JDBC訪問(wèn)數(shù)據(jù)庫(kù)
目前,數(shù)據(jù)庫(kù)訪問(wèn)途徑包括ODBC方法和JDBC方法。ODBC方法通過(guò)C語(yǔ)言實(shí)現(xiàn)API,使用C語(yǔ)言接口,此種方法被廣泛應(yīng)用到各方面,但是使用過(guò)程中的難度比較大,并且出現(xiàn)了多種問(wèn)題。JDBC方法使用純正JAVA語(yǔ)言,并且通過(guò)JAVA程序調(diào)度JDBC比較簡(jiǎn)單。所以,JDBC方法備受程序員的喜歡。
2.2 在JAVA中的使用
JDBC被廣泛應(yīng)用到j(luò)ava中,大部分web程序操作數(shù)據(jù)庫(kù)都是利用JDBC進(jìn)行設(shè)計(jì)。目前都是開發(fā)大量的數(shù)據(jù)開源框架,將JDBC API作為底層基礎(chǔ),在Java中使用JDBC,要將MVC設(shè)計(jì)理念展現(xiàn)出來(lái),使web程序的使用范圍得到拓展。MVC中的M、V、C分別代表數(shù)據(jù)模型、用戶界面、控制器。MVC的使用目的就是將分離的M和V實(shí)現(xiàn)代碼,從而在使用相同程序的時(shí)候能夠利用多元化表現(xiàn)方式。比如,一批統(tǒng)計(jì)數(shù)據(jù)表現(xiàn)方式包括餅圖、柱狀圖等。C的目的就是保證M和V具備共時(shí)性狀態(tài),也就是M的變化和V的更新一致性。
在傳統(tǒng)開發(fā)體系中,程序開發(fā)并沒有分層的情況,視圖代碼和業(yè)務(wù)代碼比較復(fù)雜。但是,此方式在拓展軟件、維護(hù)軟件方面存在問(wèn)題,無(wú)法實(shí)現(xiàn)代碼重用。假設(shè)將JSP、HTML、JDBC放到一塊縮寫的時(shí)候,無(wú)法對(duì)程序進(jìn)行調(diào)試。MVC設(shè)計(jì)理念能夠解決此問(wèn)題,視圖層、模型層和控制層分離,降低程序中耦合情況。如果業(yè)務(wù)計(jì)劃和邏輯出現(xiàn)改變,只需要使模型層代碼改變,不需要對(duì)控制層和視圖層更改。因?yàn)榭刂茖?、視圖層和模型層存在分離狀態(tài),所以在具體程序開發(fā)中,要滿足MVC理念。
JDBC在MVC模型層位置,客戶端通過(guò)JSP頁(yè)面與程序?qū)崿F(xiàn)交互工作。SERV-LE能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)的增加、查找、刪除、修改請(qǐng)求。比如,Serviet接收數(shù)據(jù)請(qǐng)求的時(shí)候,就會(huì)發(fā)送到JAVA Bean。
2.3 面向數(shù)據(jù)庫(kù)中間件
此驅(qū)動(dòng)能夠使JDBC調(diào)用翻譯成為網(wǎng)絡(luò)協(xié)議,并且和數(shù)據(jù)庫(kù)獨(dú)立。在中間件連接過(guò)程中,能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)的資源整合,主要優(yōu)勢(shì)就是直接訪問(wèn)多種數(shù)據(jù)庫(kù),與訪問(wèn)、平臺(tái)數(shù)據(jù)庫(kù)獨(dú)立,大部分在多層結(jié)構(gòu)軟件體系中使用[2]。
Java能夠使面向?qū)ο髷?shù)據(jù)庫(kù)的類型得到實(shí)現(xiàn),并且不需要外在軟件和中間件,直接調(diào)用JDBC轉(zhuǎn)化成為與數(shù)據(jù)庫(kù)系統(tǒng)規(guī)范吻合的模式,實(shí)現(xiàn)數(shù)據(jù)庫(kù)服務(wù)器的通信,并且執(zhí)行效率良好。但是,在執(zhí)行過(guò)程中和特定數(shù)據(jù)庫(kù)相關(guān)。EJB技術(shù)能夠有效處理易購(gòu)數(shù)據(jù)庫(kù)環(huán)境中的多數(shù)據(jù)庫(kù)信息,此技術(shù)能夠使數(shù)據(jù)庫(kù)易購(gòu)與操作系統(tǒng)異構(gòu)等問(wèn)題得到解決,實(shí)現(xiàn)不同資源信息共享和綜合統(tǒng)計(jì)咨詢等工作。利用EJB實(shí)現(xiàn)異構(gòu)數(shù)據(jù)環(huán)境中的電子政務(wù)和商務(wù)等不同領(lǐng)域的信息互換。
3 JAVA程序開發(fā)數(shù)據(jù)庫(kù)的設(shè)計(jì)
3.1 數(shù)據(jù)庫(kù)系統(tǒng)的框架
數(shù)據(jù)庫(kù)能夠設(shè)計(jì)組織結(jié)構(gòu),實(shí)現(xiàn)數(shù)據(jù)的管理和存儲(chǔ),在內(nèi)部設(shè)置DBMS。數(shù)據(jù)庫(kù)中包括控制文件、數(shù)據(jù)文件和日志文件,因?yàn)槲募鶎兕愋筒煌?,功能也各有不同,?shù)據(jù)文件的功能能夠?qū)?shù)據(jù)進(jìn)行存儲(chǔ),保證數(shù)據(jù)文件的數(shù)量,通過(guò)日志文件對(duì)記錄用戶數(shù)據(jù)的日志信息。數(shù)據(jù)庫(kù)管理系統(tǒng)中指的是數(shù)據(jù)管理軟件,數(shù)據(jù)處于數(shù)據(jù)庫(kù)和應(yīng)用系統(tǒng)中間位置,能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)管理。在數(shù)據(jù)庫(kù)管理系統(tǒng)開發(fā)過(guò)程中,一般利用Navicat Premium管理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。SQL Server、oracle和MySQL為常見數(shù)據(jù)庫(kù)管理系統(tǒng),SQL Server屬于微軟,只能夠通過(guò)Windows系統(tǒng)運(yùn)行,其他都能夠運(yùn)行在UNIX/Linux中。對(duì)比SQL Server,可靠性、安全性和系統(tǒng)性更高。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)也稱之為DBAS,為對(duì)外模式,在數(shù)據(jù)庫(kù)操作和數(shù)據(jù)信息提取的過(guò)程中,能夠利用SQL語(yǔ)句實(shí)現(xiàn),數(shù)據(jù)安全性良好,用戶只能夠?qū)ο鄳?yīng)外模式數(shù)據(jù)訪問(wèn)和瀏覽,圖1為數(shù)據(jù)庫(kù)系統(tǒng)的框架。
以此創(chuàng)建Java數(shù)據(jù)庫(kù)應(yīng)用框架模型,實(shí)現(xiàn)相應(yīng)的代碼[3]。本文對(duì)DBConnection類應(yīng)用框架實(shí)現(xiàn):
Public class DBC0nnection
Public Connection get Connection口arser parser)
//解析數(shù)據(jù)庫(kù)框架的配置文件
Database Configlnfbr dc =parser.parse(“data Base Configer.xml;
Connection conn=null:
Try
Class.fbr Name(dc.get Driver)
//創(chuàng)建連接
conn=DriverManager.get Connection
(dc.getUri()+“;databasename=”+dc.get Databasename0,
dc.get Use(),dc.get Password0);
catch(Class Nor Found Excetion cnfe)
{cnfe.peineStackTrace();
catch(SQLExeeption sqle)
(8qle.print Stack Trace ();}
Return conn;
Java數(shù)據(jù)庫(kù)應(yīng)用框架在設(shè)計(jì)的過(guò)程中,要能夠跟蹤數(shù)據(jù)庫(kù)信息,使最新版本信息在數(shù)據(jù)庫(kù)中存儲(chǔ),便于下次的使用。在數(shù)據(jù)庫(kù)設(shè)計(jì)滿足要求的時(shí)候聯(lián)系,要求修改數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用框架具有決定性作用。所以,在設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用框架的過(guò)程中要進(jìn)行全面的分析和研究。
3.2 java開發(fā)框架
在創(chuàng)建環(huán)境的過(guò)程中,主要步驟為:使用jar包實(shí)現(xiàn)核心文件的配件,之后創(chuàng)建數(shù)據(jù)庫(kù)。實(shí)現(xiàn)數(shù)據(jù)庫(kù)信息配置連接,創(chuàng)建實(shí)體Bean->持久化類,在數(shù)據(jù)庫(kù)操作中使用。然后,創(chuàng)建映射文件,在核心配置文件中添加映射文件,并且實(shí)現(xiàn)測(cè)試類工作。
Spring為AOP和IOC容器框架,還是web級(jí)別的容器,管理工作就是使Class轉(zhuǎn)變成為Bean對(duì)象,并且實(shí)現(xiàn)Bean對(duì)象的加載,之后將其轉(zhuǎn)移到BeanFactory,并且進(jìn)行管理。在使用的過(guò)程中,通過(guò)application Contex.xml實(shí)現(xiàn),此過(guò)程和注入其他Bean過(guò)程統(tǒng)稱為IOC。Spring中AOP模塊的適用范圍包括事務(wù)和日志[4]。
3.3數(shù)據(jù)庫(kù)封裝
在web開發(fā)過(guò)程中,利用J2EE開發(fā)網(wǎng)絡(luò)應(yīng)用與網(wǎng)站為主流,開源架構(gòu)Sturuse+Spring+Hibernate為陸行技術(shù)。針對(duì)中型站點(diǎn)的開發(fā)不需要龐大架構(gòu),可以選擇技術(shù)實(shí)現(xiàn)小量業(yè)務(wù)邏輯。作為此站點(diǎn),利用JSP+JavaBean技術(shù)滿足實(shí)際需求。利用JavaBran封裝數(shù)據(jù)連接,使數(shù)據(jù)庫(kù)地址、用戶名與密碼不可見,只能夠利用JavaBean實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪問(wèn),使數(shù)據(jù)庫(kù)安全性得到提高。另外,在頁(yè)面中調(diào)用JavaBean的方法操作數(shù)據(jù)庫(kù),簡(jiǎn)化頁(yè)面中腳本編寫,使程序員更輕松。在對(duì)傳遞數(shù)據(jù)處理的時(shí)候,充分考慮代碼通用性,要求傳遞新的數(shù)據(jù)。從而設(shè)計(jì)接口傳遞規(guī)范參數(shù),用戶需要設(shè)計(jì)JavaBean滿足此接口規(guī)則,利用接口中的方法使相應(yīng)參數(shù)在數(shù)據(jù)庫(kù)操作類中傳遞。
因?yàn)閿?shù)據(jù)操作包括新增、查詢、刪除、修改等工作,在數(shù)據(jù)庫(kù)連接設(shè)計(jì)過(guò)程中利用select、delete、update、insert的方法對(duì)應(yīng)四種操作,利用SQLBean接口規(guī)范方法得到信息,以一系列的信息生成SQL代碼,實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作。
3.4基于JAVA的網(wǎng)絡(luò)購(gòu)物數(shù)據(jù)庫(kù)設(shè)計(jì)
3.4.1系統(tǒng)的總體功能
網(wǎng)上購(gòu)物已經(jīng)成為人們生活中的主要休閑方式與購(gòu)物方式,隨著網(wǎng)上購(gòu)物的不斷發(fā)展,合理使用java數(shù)據(jù)庫(kù)能夠使web端的性能得到提高,還鞥能夠提高數(shù)據(jù)控制能力與管理能力。要想充分發(fā)揮性能,就要基于java針對(duì)性設(shè)計(jì),使用JDBC實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪問(wèn)。在網(wǎng)上購(gòu)物的過(guò)程中,要求web Client進(jìn)入瀏覽器中瀏覽網(wǎng)絡(luò)商城,利用網(wǎng)頁(yè)挑選網(wǎng)絡(luò)商城中的商品,調(diào)整商品的選購(gòu)種類與數(shù)量,在系統(tǒng)中添加想要購(gòu)買的產(chǎn)品,實(shí)現(xiàn)客戶個(gè)人信息的填寫??蛻粼诘卿浿缶湍軌?qū)ι唐愤M(jìn)行購(gòu)買,支付完成之后就會(huì)退出界面。服務(wù)器終端系統(tǒng)和客戶端連接,對(duì)客戶端請(qǐng)求進(jìn)行接收和處理,創(chuàng)建相應(yīng)的數(shù)據(jù)庫(kù),之后使處理后數(shù)據(jù)回傳到客戶端中,從而能夠在網(wǎng)上購(gòu)物。網(wǎng)上購(gòu)物的主要對(duì)象為用戶,那么就要實(shí)現(xiàn)用戶表的創(chuàng)建,比如商品類別、購(gòu)買和用戶基本信息表等。利用前期的調(diào)研,對(duì)平臺(tái)具體功能進(jìn)行總結(jié):
其一,用戶管理。錄入用戶基本信息并且注冊(cè),還能夠?qū)崿F(xiàn)信息的修改;
其二,管理員管理。實(shí)現(xiàn)管理員對(duì)于網(wǎng)站商品信息的管理和常規(guī)設(shè)置,比如商品添加、審查和廣告添加等;
其三,搜索功能。搜索電子商品名稱;
其四,利用購(gòu)物車查看確定商品。
3.4.2注冊(cè)功能
點(diǎn)擊主頁(yè)面的用戶注冊(cè)按鈕,將注冊(cè)信息頁(yè)面彈出。要求用戶將自己的真實(shí)信息填寫,包括姓名、密碼、電話、用戶名等,提交之后系統(tǒng)實(shí)現(xiàn)檢測(cè)判斷此用戶名是否注冊(cè)。如果注冊(cè),頁(yè)面就會(huì)提示用戶名已經(jīng)注冊(cè);假如沒有,就要判斷用戶填寫的信息是否滿足要求,直到全部信息都正確,系統(tǒng)使用戶注冊(cè)信息寫入到會(huì)員表中提示成功。用戶在登錄之后,就能夠進(jìn)行購(gòu)物。
3.4.3用戶登錄
在用戶登錄后為用戶提供登錄表單,在整體結(jié)構(gòu)中嵌入。在實(shí)際使用中設(shè)計(jì),如果用戶沒有登錄,頁(yè)面就無(wú)法將用戶登錄選項(xiàng)顯示出來(lái)。在用戶登錄之后,將用戶登錄選項(xiàng)隱藏,使用戶基本信息代替。商務(wù)網(wǎng)站的安全性和穩(wěn)定性比較高,用戶真實(shí)姓名尤為重要,所以對(duì)于用戶不允許使用惡意代碼作為用戶名。還要對(duì)密碼保密,在密碼加密之后存儲(chǔ)到數(shù)據(jù)庫(kù)中。
3.4.4商品管理
管理員在此功能中不需要對(duì)商品刪除,管理員要瀏覽商品的詳細(xì)信息,能夠看到普通用戶看不到的信息。在商品首頁(yè)進(jìn)入之后對(duì)商品進(jìn)行選擇與查詢,包括高級(jí)搜索和一般搜索。一般搜索只需要提供商品名稱和類別。高級(jí)搜索要提供商品名稱、特征、價(jià)格和類別等詳細(xì)信息,利用數(shù)據(jù)庫(kù)信息與信息的對(duì)比,就能夠得到結(jié)果[5]。
3.4.5購(gòu)物車
要對(duì)購(gòu)物車類進(jìn)行定義:
其一,列出商品名稱,使用戶對(duì)需要的商品自由選擇;
其二,在用戶點(diǎn)擊添加到購(gòu)物車鏈接的時(shí)候,就要執(zhí)行以下功能:
在對(duì)用戶購(gòu)物車是否存在檢查的時(shí)候,如果不存在就要?jiǎng)?chuàng)建,并且注冊(cè)Session變量。在用戶購(gòu)物車具有此情況的時(shí)候,對(duì)此類中是否有此商品進(jìn)行檢查。如果存在,商品數(shù)量加1;如果不存在,使此商品添加到此類中。
3.5數(shù)據(jù)庫(kù)框架的模型
此數(shù)據(jù)庫(kù)框架實(shí)現(xiàn)包括多個(gè)類,本文對(duì)XML配置文件解析器 ParserAdapter類實(shí)現(xiàn)過(guò)程進(jìn)行分析[6],圖2為數(shù)據(jù)庫(kù)框架類圖。
cateh(Parser Configuration Exeeption pce)
{pce.print Stack Trace0;)
catch(File Not Found Exception fnfe)
{fnfe.print Stack Trace0;)
catch(org.xml.sax.SAXException saxe)
{saxe.print Stack Trace0;)
catch(10Exception ioe)
(ioe.print Stack Trace0;}
return
Dc
4 結(jié)束語(yǔ)
通過(guò)JavaBean實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接封裝,并且利用相應(yīng)接口規(guī)范對(duì)數(shù)據(jù)庫(kù)操作參數(shù)進(jìn)行傳遞,在數(shù)據(jù)庫(kù)操作中設(shè)計(jì)SQL語(yǔ)句,能夠?qū)?shù)據(jù)庫(kù)安全性進(jìn)行保證,還能夠簡(jiǎn)化開發(fā)人員對(duì)于數(shù)據(jù)庫(kù)操作流程,使開發(fā)效率得到提高。
參考文獻(xiàn):
[1] 馬永斌,楊瑞麗.基于JAVA的云筆記系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].新一代信息技術(shù),2020,3(2):26-39.
[2] 楊振.基于JAVA技術(shù)平臺(tái)的辦公自動(dòng)化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].衛(wèi)星電視與寬帶多媒體,2020(2):74-75.
[3] 徐巍.基于Java技術(shù)平臺(tái)的教學(xué)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].衛(wèi)星電視與寬帶多媒體,2020(2):67-68.
[4] 鐘先金,吳會(huì)勝,葉哲璐,等.基于Java EE的新型基礎(chǔ)測(cè)繪業(yè)務(wù)信息化管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪地理信息,2020,45(2):79-82.
[5] 范曉玲.基于JavaEE的文件資源管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].河北軟件職業(yè)技術(shù)學(xué)院學(xué)報(bào),2020,22(2):11-14.
[6] 體盈.基于Oracle數(shù)據(jù)庫(kù)與JAVA語(yǔ)言的財(cái)務(wù)系統(tǒng)設(shè)計(jì)研究[J].自動(dòng)化技術(shù)與應(yīng)用,2020,39(7):170-174.
收稿日期:2022-02-04
作者簡(jiǎn)介:王志輝(1982—),女,山西陽(yáng)高人,講師,碩士,主要從事計(jì)算機(jī)編程語(yǔ)言和數(shù)據(jù)庫(kù)開發(fā)研究。