版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、歌曲信息管理系統(tǒng)的設(shè)計與實現(xiàn)目錄摘要第1章系統(tǒng)開發(fā)技術(shù)介紹11JAVA技術(shù)1.2JDBC定義13MVC技術(shù)14MYSQL概述15SQL介紹16運(yùn)行環(huán)境第2章系統(tǒng)需求分析21系統(tǒng)功能設(shè)計22數(shù)據(jù)需求第3章數(shù)據(jù)庫設(shè)計31數(shù)據(jù)庫系統(tǒng)32數(shù)據(jù)處理流程系統(tǒng)登陸流程3.2.2.主流程添加歌曲流程修改歌曲流程查詢歌曲流程33系統(tǒng)數(shù)據(jù)庫設(shè)計E-R圖3.3.2數(shù)據(jù)庫表第4章系統(tǒng)實現(xiàn)41系統(tǒng)功能圖4.1.1系統(tǒng)管理模塊實現(xiàn)4.1.2添加歌曲模塊實現(xiàn)42系統(tǒng)主要類說明43系統(tǒng)主要功能實現(xiàn)4.3.1.顯示操作主頁面功能實現(xiàn)4.3.2.添加歌曲功能實現(xiàn)4.3.3.刪除功能實現(xiàn)(代碼省略)4.3.4修改功能實現(xiàn)(代碼略)
2、4.3.5查詢功能實現(xiàn)(代碼略)4.3.6連接功能實現(xiàn)(代碼略)摘要科學(xué)技術(shù)日新月異的進(jìn)步,讓人類生活發(fā)生了巨大的變化,計算機(jī)技術(shù)的飛速發(fā)展,使各行各業(yè)在計算機(jī)技術(shù)應(yīng)用方面得到了廣泛的普及和使用。信息化時代的到來成為不可抗拒的潮流,人類文明正在進(jìn)入一個嶄新的時代。因此,KTV歌曲資源管理系統(tǒng)也以方便、快捷、費(fèi)用低的優(yōu)點(diǎn)正慢慢改變著對歌曲信息的管理,將傳統(tǒng)的手工管理方式徹底的解脫出來,提高效率,減輕管理員以往繁忙的工作,減小出錯的概率,使使用者歌曲可以更好的獲取信息、了解信息、掌握信息。開發(fā)一個界面友好易于操作的歌曲資源管理系統(tǒng)進(jìn)行自動化處理變得十分重要,這正是本系統(tǒng)開發(fā)的目的和意義。歌曲信息管
3、理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。因此本人結(jié)合要求,對MYSQL數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫組件、SQL語言原理、JAVA應(yīng)用程序設(shè)計,對數(shù)據(jù)庫技術(shù)進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主要完成對管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,并由此設(shè)計了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運(yùn)行結(jié)果證明,本文所設(shè)計的歌曲信息管理系統(tǒng)可以滿足用戶的需要。實現(xiàn)了數(shù)據(jù)庫表的查詢、添加、刪除和修改,實現(xiàn)了多種條件查詢等。設(shè)計充分利用JAVA、MYSQL數(shù)據(jù)庫技術(shù)
4、的強(qiáng)大力量,提高了編程效率和可靠性?!娟P(guān)鍵詞:】JAVA;SQL語言;MYSQL;數(shù)據(jù)庫;歌曲管理系統(tǒng)第1章系統(tǒng)開發(fā)技術(shù)介紹11JAVA技術(shù)Java平臺由Java虛擬機(jī)(JavaVirtualMachine)和Java應(yīng)用編程接口(ApplicationProgrammingInterface、簡稱API)構(gòu)成。Java應(yīng)用編程接口為Java應(yīng)用提供了一個獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應(yīng)用程序就可運(yùn)行。目前常用的Java平臺基于Javal.5,最近版本為Javal.7。12JDBC定義JDBC(JavaDataBas
5、eConnectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純JavaAPI編寫數(shù)據(jù)庫應(yīng)用程序,JDBC擴(kuò)展了Java的功能。13MVC技術(shù)MVC三層架構(gòu)也稱MVC模式,主要是將程序開發(fā)分為MODEL層(數(shù)據(jù)持久層)、VIEW(界面表示層)、CONTROL層(控制層)這三個層面,并將這三個層面分開來,形成了一個立體的架構(gòu)。三個層次之間的主要交互如下所示:1.3.1MVC設(shè)計模式的實現(xiàn)
6、視圖是模型的表示,它提供用戶交互界面。為了能夠控制和協(xié)調(diào)每個用戶跨越多個請求的處理,控制機(jī)制以集中的方式進(jìn)行管理。MVC系統(tǒng)中的模型從概念上可以分為兩類:系統(tǒng)的內(nèi)部狀態(tài)和改變系統(tǒng)狀態(tài)的動作14MYSQL概述MySQL是一個精巧的SQL數(shù)據(jù)庫管理系統(tǒng)。MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。MySQL是以一個客戶機(jī)/服務(wù)器結(jié)構(gòu)的實現(xiàn),由一個服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成。MySQL主要目標(biāo)是快速、健壯和易用。15SQL介紹SQL(StructuredQueryLanguage,結(jié)構(gòu)查詢語言)是一個功能強(qiáng)大的數(shù)據(jù)庫語言。SQL通常使用于數(shù)據(jù)庫的通訊。SQL為
7、許多任務(wù)提供了命令,其中包括:查詢數(shù)據(jù)在表中插入、修改和刪除記錄(3)建立修改和刪除數(shù)據(jù)對象控制對數(shù)據(jù)和數(shù)據(jù)對象的存取(5)保證數(shù)據(jù)庫一致性和完整性16運(yùn)行環(huán)境硬件平臺:口CPU:InterCore*口內(nèi)存:2G。軟件平臺:口操作系統(tǒng):WindowsXP;口數(shù)據(jù)庫:MySQL5.0;口開發(fā)工具包:JDKVersion1.5;口開發(fā)工具:MyEclipse5.5.1;口瀏覽器:IE7.0;口分辨率:最佳效果1024*768像素。第2章系統(tǒng)需求分析21系統(tǒng)功能設(shè)計功能劃分,該軟件具有如下主要功能:查詢功能;插入功能;修改功能;刪除功能;功能描述查詢功能:按照歌曲相應(yīng)屬性查詢;插入功能:增加一個歌曲
8、記錄;修改功能:修改某一已存在的記錄內(nèi)容;刪除功能:刪除一個記錄;2.2數(shù)據(jù)需求歌曲:歌曲編號,歌曲名稱,歌曲類型,歌手名稱,歌手性別,歌手年齡,歌手圖片等。用戶:用戶名,密碼;第3章數(shù)據(jù)庫設(shè)計3.1數(shù)據(jù)庫系統(tǒng)3.1.1數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫。數(shù)據(jù)采集數(shù)據(jù)采集采用鍵盤輸入。3.2數(shù)據(jù)處理流程系統(tǒng)登陸流程要求用戶輸入用戶名及密碼。建立與數(shù)據(jù)庫的連接。根據(jù)操作權(quán)限顯示主對話框(即主界面),進(jìn)入主流程。3.2.2.主流程如為添加歌曲,進(jìn)入添加歌曲流程(顯示添加歌曲對話框)。如為修改歌曲:進(jìn)入修改歌曲流程(顯示修改歌曲對話框)。如為查詢歌曲:進(jìn)入查詢歌曲流程(顯示查詢歌曲對話框)。如為刪除歌曲:進(jìn)
9、入刪除歌曲流程(顯示刪除歌曲對話框)。如為退出:檢查所有子窗口,關(guān)閉對話框,斷開與數(shù)據(jù)庫的連接,結(jié)束主流程。添加歌曲流程要求用戶輸入新增歌曲的各種信息。確認(rèn)后提交添加歌曲請求,更新信息,把添加信息寫入數(shù)據(jù)庫,顯示添加歌曲操作結(jié)果。如為完成添加歌曲操作:結(jié)束添加歌曲流程。3.2.4修改歌曲流程要求用戶輸入修改歌曲的各種信息。確認(rèn)后提交修改歌曲請求,更新信息,把修改信息寫入數(shù)據(jù)庫,顯示修改歌曲操作結(jié)果。如為完成修改歌曲操作:結(jié)束修改歌曲流程。趙月小學(xué)期KTV趙月小學(xué)期KTV點(diǎn)歌系統(tǒng)報告IdUsernamepasswordPK用戶名密碼查詢歌曲流程要求用戶輸入要查詢歌曲的任一種信息。確認(rèn)后提交查詢歌
10、曲請求,更新信息,顯示查詢歌曲操作結(jié)果。如為完成查詢歌曲操作:結(jié)束查詢歌曲流程。3.3系統(tǒng)數(shù)據(jù)庫設(shè)計用戶3.3.2數(shù)據(jù)庫表用戶表:Users字段數(shù)據(jù)類型備注Uidint會員號Unamevarchar(20)姓名Upasswordvarchar(20)密碼歌曲表:Songs字段數(shù)據(jù)類型備注Songidint歌曲編號Songnamevarchar(20)歌曲名稱Songtypevarchar(20)歌曲類型Songernamevarchar(20)歌手名稱Songersexvarchar(20)歌手性別SongerageInt歌手年齡Songerpictuervarchar(20)歌手圖片第4章系
11、統(tǒng)實現(xiàn)4.1系統(tǒng)功能圖4.1.1系統(tǒng)管理模塊實現(xiàn)功能:運(yùn)行主界面建立與數(shù)據(jù)庫連接根據(jù)輸入調(diào)用子模塊退出系統(tǒng)時斷開與數(shù)據(jù)庫的連接歌曲信息管理結(jié)構(gòu)圖:歌曲信息管理流程圖:歌曲信息管理流程圖:初始化1F-主界初始化1F-主界面連接數(shù)據(jù)庫4.1.2添加歌曲模塊實現(xiàn)功能:運(yùn)行添加歌曲界面輸入添加歌曲信息添加成功是顯示添加后界面退出時返回主界面添加歌曲結(jié)構(gòu)圖:添加歌曲流程圖:4.2系統(tǒng)主要類說明實體封裝類歌曲類(Song),封裝歌曲的一系列信息(songname、singer、type等),對歌曲的添加、修改、刪除等數(shù)據(jù)臨時存儲于傳遞,對歌曲的信息進(jìn)行維護(hù)管理。持久化類數(shù)據(jù)庫連接工具類(JDBCUtil)
12、,主要作用為數(shù)據(jù)持久化操作提供連接,并通過靜態(tài)化方式實現(xiàn)單例模式,有效防止了重復(fù)連接,優(yōu)化了數(shù)據(jù)庫訪問效率。數(shù)據(jù)持久化類(OperateDao),主要業(yè)務(wù)邏輯控制類,主要方法有添加歌曲,根據(jù)ID刪除歌曲,查找所有歌曲,根據(jù)條件查找歌曲,修改歌曲等方法,分別控制歌曲添加、刪除、查找、修改等業(yè)務(wù)邏輯。主要視圖與業(yè)務(wù)邏輯類登陸業(yè)務(wù)邏輯控制類(Login),顯示登錄窗體。主要控制為,判斷用戶輸入是否合法(是否為空等),根據(jù)用戶的輸入的數(shù)據(jù),調(diào)用數(shù)據(jù)庫持久化類,查詢數(shù)據(jù)庫數(shù)據(jù),然后進(jìn)行對比判斷,根據(jù)判斷結(jié)果,顯示主界面或者提示用戶重新輸入等操作。歌曲管理操作主界面(MainView),顯示歌曲添加、刪除
13、、修改、查詢等操作,可以動態(tài)顯示不同操作的視圖(如背景圖片,操作信息等)。根據(jù)相應(yīng)的操作按鈕監(jiān)聽,創(chuàng)建不同操作的組件,然后調(diào)用持久化類與數(shù)據(jù)庫交互,獲得相應(yīng)的數(shù)據(jù),然后通過本類的主Panel組件,添加刪除相應(yīng)業(yè)務(wù)組件,從而實現(xiàn)不同操作的動態(tài)顯示4.3系統(tǒng)主要功能實現(xiàn)4.3.1.顯示操作主頁面功能實現(xiàn)(界面代碼如下略)packagektv.ui;importjava.awt.BorderLayout;publicclassktvFrameextendsJFrame/主窗體的寬度privateintframe_width=800;/主窗體的高度privateintframe_height=600;
14、/主窗體的標(biāo)題privateStringframe_title=ktvConfig.MAINFRAME_TITLE;/主窗體的背景顏色privateColorframe_bgcolor=Color.DARK_GRAY;/主窗體的圖標(biāo)privateImageIconicon=newImageIcon(ktvConfig.MAINFRAME_ICO);/*ktvFrame類的構(gòu)造函數(shù),初始化ktv系統(tǒng)主窗體*/publicktvFrame()super();if(this.initMainFrame(this)System.out.println(initializationofthemainfr
15、ameissuccessful);elseSystem.out.println(initializationofthemainframeisfault);System.exit(1);publicJDesktopPanegetJDesktopPane()returnthis.jdeskpane;/*初始化ktv系統(tǒng)主窗體*/PublicbooleaninitMainFrame(ktvFrameframe)if(frame=null)System.out.println(ktvFramesobjectisnull);System.exit(1);tryJdeskpane=newJDesktopP
16、ane();frame.setIconImage(frame_ico);jdeskpane.setBackground(this.frame_bgcolor);frame.setSize(this.frame_width,this.frame_height);frame.setTitle(frame_title);frame.setLocation(Toolkit.getDefaultToolkit().getScreenSize().width-this.frame_width)/2,(Toolkit.getDefaultToolkit().getScreenSize().height-th
17、is.frame_height)/2);frame.setDefaultCloseOperation(EXIT_ON_CLOSE);/設(shè)置窗體樣式UIManager.setLookAndFeel(UIManager.getInstalledLookAndFeels()0.getClassName();/創(chuàng)建桌面面板/創(chuàng)建內(nèi)部窗體/創(chuàng)建菜單/創(chuàng)建工具欄/創(chuàng)建狀態(tài)欄SwingUtilities.updateComponentTreeUI(frame);createDeskpane(frame);createShowAllSongsFrame(frame,moon-ktv所有歌曲);createMe
18、nu(frame);createToolbar(frame);createStatusbar(frame);catch(Exceptione)e.printStackTrace();returnfalse;returntrue;publicktvMenugetKtvMenu()returnthis.kM;publicktvToolBargetKtvToolBar()returnthis.kTB;publicktvStatusBargetKtvStatusBar()returnthis.kS;/添加菜單publicvoidcreateMenu(ktvFrameframe)if(frame=nul
19、l)System.out.println(ktvFramesobjectisnull);System.exit(1);kM=newktvMenu();frame.setJMenuBar(kM);/添加工具欄publicvoidcreateToolbar(ktvFrameframe)if(frame=null)System.out.println(ktvFramesobjectisnull);System.exit(1);kTB=newktvToolBar();frame.getContentPane().add(kTB,BorderLayout.NORTH);/添加狀態(tài)欄publicvoidc
20、reateStatusbar(ktvFrameframe)if(frame=null)System.out.println(ktvFramesobjectisnull);System.exit(1);kS=newktvStatusBar();frame.getContentPane().add(kS,BorderLayout.SOUTH);/添加桌面面板publicvoidcreateDeskpane(ktvFrameframe)if(frame=null)System.out.println(ktvFramesobjectisnull);System.exit(l);frame.getCon
21、tentPane().add(jdeskpane);添加內(nèi)部窗體publicvoidcreateShowAllSongsFrame(ktvFrameframe,Stringcontent)if(frame=null)System.out.println(ktvFramesobjectisnull);System.exit(1);innerframe=newshowAllSongsFrame(content);frame.getJDesktopPane().add(innerframe);432添加歌曲功能實現(xiàn)點(diǎn)擊添加歌曲菜單后,會彈出添加歌曲框(addSongFrame),填入相應(yīng)的數(shù)據(jù),單擊
22、保存后,數(shù)據(jù)添加進(jìn)數(shù)據(jù)庫,界面顯示添加后的歌曲信息,界面代碼(略,只添加歌曲名稱的)如下,顯示結(jié)果如下圖。packagektv.ui;importjava.awt.GridLayout;importktv.listeneraction.AllListenerAction;publicclassaddSongFrameextendsJInternalFrameprivateJLabellsongname=null;privateGridLayoutcrd=null;publicaddSongFrame(Stringtitle)super(title,true,true,true,true);cr
23、d=newGridLayout(7,2,0,10);savebutton=newJButton(保存”);lsongname=newJLabel(歌曲名稱:”);lsongname.setIcon(newImageIcon(ktvConfig.MAINFRAME_ICO);lsongname.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);jtsongname=newJTextField();this.setTitle(title);this.add(lsongname);this.add(savebutton);savebu
24、tton.addActionListener(newAllListenerAction();this.setVisible(true);工部翹據(jù)詁輸心詢關(guān)趣字話iJt擇現(xiàn)莆卿;7W*匚cnie11100系疑功能W433刪除功能實現(xiàn)(代碼省略)選擇相應(yīng)要刪除的歌曲(可以點(diǎn)擊任意點(diǎn),如歌曲編號,歌曲名稱,歌曲類型等),點(diǎn)擊后,在系統(tǒng)功能菜單中選擇刪除,該歌曲即可刪除。實現(xiàn)如下圖所示:4.3.4修改功能實現(xiàn)(代碼略)同刪除一樣,點(diǎn)擊修改記錄,彈出修改對話框,即可進(jìn)行修改。結(jié)果如下圖所示:LEf兇TVMHCtHlieilHClI-lilV4.3.5查詢功能實現(xiàn)可以實現(xiàn)五種查詢功能,既全部數(shù)據(jù),歌曲名,歌手名,歌曲類型,和歌手類別。如圖:436(OperateDao)主要方法有添加歌曲,刪除歌曲,查找所有歌曲,根據(jù)條件查詢歌曲,修改歌曲等方法,分別控制歌曲添加、刪除、查找、修改等。代碼簡略。(例)指定查詢songTable表publicArrayListvObjectselectValue(Connectionconn,ArrayListvObjectlist,Stringsearchkey,Stringsearchvalue)throwsExceptionConnectionselectconn=ktvMysqlDAO.getMysqlConn();if(select
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 46989.1-2025光伏組件運(yùn)輸試驗第1部分:組件包裝單元的運(yùn)輸和裝卸
- 論ISDA主協(xié)議中的終止凈額結(jié)算制度
- 行政單位關(guān)于存貨管理的相關(guān)制度
- 2025 小學(xué)四年級科學(xué)下冊壓縮空氣在玩具中應(yīng)用實例講解課件
- 2026共青團(tuán)東莞市委員會自主招聘聘用人員1人備考考試題庫附答案解析
- 2026住房和城鄉(xiāng)建設(shè)部直屬事業(yè)單位第一批招聘20人備考考試試題附答案解析
- 2026江蘇省人民醫(yī)院臨床醫(yī)學(xué)研究院(I期研究中心)派遣制人員招聘1人備考考試試題附答案解析
- 2026上海普陀區(qū)交通運(yùn)輸局面向社會招聘編外人員1人參考考試試題附答案解析
- 2026四川成都市自然資源調(diào)查利用研究院(成都市衛(wèi)星應(yīng)用技術(shù)中心)考核招聘2人備考考試題庫附答案解析
- 2026江蘇南京警察學(xué)院招聘11人參考考試題庫附答案解析
- 教培行業(yè)年終述職
- 2025中國西電集團(tuán)有限公司招聘(35人)筆試備考試題附答案
- 海內(nèi)外云廠商發(fā)展與現(xiàn)狀(三):資本開支壓力與海外云廠需求情況拆解-國信證券
- 基于小動物影像學(xué)探究電針百會、神庭穴改善缺血再灌注大鼠學(xué)習(xí)記憶的機(jī)制研究
- 2025年航運(yùn)行業(yè)航運(yùn)業(yè)數(shù)字化轉(zhuǎn)型與智能航運(yùn)發(fā)展研究報告及未來發(fā)展趨勢預(yù)測
- 安全生產(chǎn)責(zé)任保險技術(shù)服務(wù)方案
- 溴化鋰清洗施工方案
- 2025年中國N-甲基嗎啉氧化物行業(yè)市場分析及投資價值評估前景預(yù)測報告
- 地質(zhì)鉆機(jī)安全培訓(xùn)課件
- 隧道爐安全操作培訓(xùn)課件
- 拆除爆破施工方案
評論
0/150
提交評論