freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java圖書(shū)館管理系統(tǒng)畢業(yè)論文(編輯修改稿)

2025-07-15 17:03 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 是數(shù)據(jù)訪(fǎng)問(wèn)層,F(xiàn)rames文件夾存儲(chǔ)的是表現(xiàn)層,Common文件夾存儲(chǔ)的是公共類(lèi),Entity文件夾存儲(chǔ)的是實(shí)體類(lèi),Images文件夾存儲(chǔ)的是工程所用到的圖片。公共模塊是一些用戶(hù)必須要用到的程序,這些程序被統(tǒng)一叫做公共模塊。登錄模塊是用戶(hù)登錄時(shí),通過(guò)對(duì)比用戶(hù)輸入的用戶(hù)名和密碼和數(shù)據(jù)表里相應(yīng)的內(nèi)容,來(lái)判斷用戶(hù)擁有哪些權(quán)限,讓用戶(hù)可以進(jìn)行那些操作。由于登錄界面是系統(tǒng)的第一個(gè)提供給用戶(hù)的界面,我們力求簡(jiǎn)潔,: 用戶(hù)登錄頁(yè)面在登錄模塊中,用戶(hù)名的輸入框具有驗(yàn)證功能,當(dāng)你沒(méi)輸入一個(gè)字符便會(huì)判斷用戶(hù)名存不存在,如果為空的話(huà)也會(huì)做出判斷,主要代碼如下:if(()) { (用戶(hù)名不能為空!)。 ()。 ()。 } else try{ if((userid)!=1) { (用戶(hù)名未找到!)。 ()。 } else { (用戶(hù)名正確!)。 ()。 userid=().trim()。 } }輸入正確的用戶(hù)名和密碼方可進(jìn)入系統(tǒng),進(jìn)入系統(tǒng)才能進(jìn)行各種操作。 數(shù)據(jù)表信息綁定JTable是Swing編程中很常用的控件,它是一般是用來(lái)顯示從數(shù)據(jù)庫(kù)里查出的數(shù)據(jù)集。正是因?yàn)镴Table控件的這種特點(diǎn),使得JTable在本系統(tǒng)中使用的次數(shù)頗多,有必要把JTable的數(shù)據(jù)綁定放在公共模塊中方便使用。JTable數(shù)據(jù)綁定的主要代碼如下:public DefaultTableModel displayResultSet(String[] col, RowSet rs) throws SQLException { mm= new DefaultTableModel(col,0)。 ()。// 指針移到第一條記錄前面 boolean hasRecords = ()。 if (!hasRecords) { // 記錄集為空,提示一條消息 (null, 無(wú)相關(guān)記錄, 檢查你的輸入!, )。} else { do { String [] str_row=new String[]。 for(int i= 0。i。i++) { str_row[i]=(i+1)。 } (str_row)。//添加在表模板中, }while(())。 } return mm。 } 日期格式轉(zhuǎn)換日期的格式在與數(shù)據(jù)庫(kù)連接的程序中經(jīng)常需要轉(zhuǎn)換,日期格式由字符串轉(zhuǎn)換成日期格式,或者將日期格式轉(zhuǎn)換成所需要的字符串。字符串轉(zhuǎn)換成日期格式的主要代碼如下:public Date Switch(String todate) throws ParseException, SQLException { time=null。 if(!()) { SimpleDateFormat df = new SimpleDateFormat(yyyyMMdd)。 time1 = (todate)。//util類(lèi)型 time=new (())。 } else { } return time。 } 日期格式轉(zhuǎn)換成字符串的主要代碼如下: public Date Switchlong(String todate) throws ParseException, SQLException { time=null。 if(!()) { SimpleDateFormat df = new SimpleDateFormat(yyyyMMdd)。 time1 = (todate)。//util類(lèi)型 time=new (())。 } else { // } return time。 }基礎(chǔ)數(shù)據(jù)維護(hù)模塊包括圖書(shū)類(lèi)別管理、圖書(shū)信息管理、讀者信息管理和注銷(xiāo)4個(gè)功能。 圖書(shū)類(lèi)別管理為了方便圖書(shū)的管理,可以將圖書(shū)進(jìn)行分類(lèi),因此提供了類(lèi)別信息的管理。圖書(shū)類(lèi)別添加與修改其實(shí)數(shù)據(jù)操作類(lèi)似。頁(yè)面可以輸入新類(lèi)別的名稱(chēng),該類(lèi)圖書(shū)主持借閱天數(shù)及超器罰款信息。單擊按鈕即可完成類(lèi)別信息的添加與修改了。 這里主要用到了Jtable的數(shù)據(jù)綁定和點(diǎn)擊事件將數(shù)據(jù)填寫(xiě)到文本框中,關(guān)鍵代碼如下:Jtable數(shù)據(jù)綁定代碼:mmbooktype= (booktype,())。 (mmbooktype)。Jtable點(diǎn)擊事件將數(shù)據(jù)填寫(xiě)到文本框大媽?zhuān)篿nt row=()。 ((row, 0).toString().trim())。 ((row, 1).toString().trim())。 ((row, 2).toString().trim())。 ((row, 3).toString().trim())。圖書(shū)信息管理包括了對(duì)圖書(shū)信息的添加和修改。在輸入了合法數(shù)據(jù)之后,單擊“添加”按鈕可以完成圖書(shū)信息的添加操作。在表格中選擇需要修改的數(shù)據(jù)之后,下方會(huì)顯示該書(shū)的相關(guān)信息。修改完畢后,單擊“修改”按鈕保存修改即可完成操作。此頁(yè)面的程序,是將數(shù)據(jù)傳遞到數(shù)據(jù)訪(fǎng)問(wèn)層,數(shù)據(jù)訪(fǎng)問(wèn)層交給數(shù)據(jù)庫(kù),有數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程執(zhí)行數(shù)據(jù)操作,存儲(chǔ)過(guò)程會(huì)在系統(tǒng)優(yōu)化中提到,這里不再贅述。在管理圖書(shū)館的讀者信息時(shí),需要提供讀者的增加、修改和刪除功能。為此提供了內(nèi)部窗體完成增加功能,內(nèi)部窗體完成修改和刪除,同時(shí)還可以添加讀者相關(guān)信息。.在輸入合法的信息之后,單擊“添加”按鈕,即可完成對(duì)讀者相關(guān)信息的添加操作。用戶(hù)可以單擊窗體部中的表格,選擇需要修改或刪除的讀者信息。單擊“修改”或者“刪除”按鈕,完成相應(yīng)的修改或刪除操作。 注銷(xiāo)功能是為了讓用戶(hù)能退出系統(tǒng),并且能夠快速的再次登錄而設(shè)計(jì)的。單擊“注銷(xiāo)”按鈕即可返回到登錄頁(yè)面了。新書(shū)訂購(gòu)功能用于管理新書(shū)的訂購(gòu),在輸入圖書(shū)編號(hào)、圖書(shū)名稱(chēng)等圖書(shū)相關(guān)信息之后,點(diǎn)擊“確認(rèn)”按鈕即可將該圖書(shū)放入訂單之中,訂單的相關(guān)信息將會(huì)顯示在窗體右側(cè)的表格了。若還想添加另一本圖書(shū)按照以上操作填寫(xiě)圖書(shū)相關(guān)信息,點(diǎn)擊“確認(rèn)”按鈕即可將該圖書(shū)放入訂單之中。此時(shí)如發(fā)現(xiàn)訂單中的圖書(shū)信息有誤,點(diǎn)擊右邊圖書(shū)信息表中你要修改的圖書(shū),圖書(shū)相關(guān)信息將自動(dòng)填寫(xiě)在左邊的相應(yīng)的欄目中,用戶(hù)按照要求修改,點(diǎn)擊“確認(rèn)”按鈕即可將修改后圖書(shū)放入訂單之中。在訂單確認(rèn)無(wú)誤后,點(diǎn)擊“提交訂單”按鈕,就正式生成了訂單。新書(shū)訂購(gòu)功能也用到了Jtable的數(shù)據(jù)綁定操作和鼠標(biāo)點(diǎn)擊事件的響應(yīng),基本代碼與上面的基本一致,這里不再贅述。 驗(yàn)收新書(shū)功能用于管理新書(shū)訂單屬否背驗(yàn)收。進(jìn)入驗(yàn)收新書(shū)訂單選項(xiàng)后,會(huì)出現(xiàn)查詢(xún)訂單的窗體,查詢(xún)相關(guān)的未驗(yàn)收的新書(shū)訂單,點(diǎn)擊“查詢(xún)”按鈕,相應(yīng)的訂單信息會(huì)顯示在下方的表格中。選擇你要驗(yàn)收的新書(shū)訂單,點(diǎn)擊表中的相應(yīng)的條目,驗(yàn)收新書(shū)的窗體會(huì)彈出。驗(yàn)收新書(shū)的窗體中有該訂單中圖書(shū)的詳細(xì)的信息,確認(rèn)訂單無(wú)誤之后,點(diǎn)擊“驗(yàn)收”按鈕即可完成驗(yàn)收新書(shū)。圖書(shū)借閱管理用于完成圖書(shū)借閱功能,讀者輸入想要借閱的圖書(shū)編號(hào),點(diǎn)擊“查詢(xún)”按鈕相應(yīng)的圖書(shū)信息就會(huì)顯示在下方的表格中,點(diǎn)擊表格中的相應(yīng)的條目就可借閱圖書(shū)了,這樣就完成了借閱操作。借閱管理要判斷這本書(shū)你是否已經(jīng)借閱了,如果已經(jīng)借閱就不可再借閱了,判斷的組要代碼如下:String isSure = (borrow2).toString().trim()。 if ((否)) { (null, 此書(shū)你已經(jīng)借閱或?yàn)闅w還,不能再借!, 警告, )。 } else if ((是)) { option = (null, 你確定要借閱此書(shū)嗎?, 提示, )。}要想查看當(dāng)前借閱圖書(shū)的詳細(xì)信息,點(diǎn)擊“當(dāng)前借閱信息”就可查看你當(dāng)前已經(jīng)借閱的圖書(shū)了。圖書(shū)歸還管理用于完成歸還操作。在輸入讀者編號(hào)后,會(huì)顯示該讀者借閱的書(shū)籍信息。點(diǎn)擊表中的你要?dú)w還的圖書(shū)條目,就可歸還該圖書(shū)。在歸還的會(huì)判斷借閱圖書(shū)是否已經(jīng)超期以及罰款金額,如果有會(huì)顯示罰款數(shù)目,并提示你繳納罰款。圖書(shū)歸還模塊中要把查詢(xún)出來(lái)的借閱信息放到表格中,如果你當(dāng)前有借閱信息,Jtable中就會(huì)有借閱信息。點(diǎn)擊Jtable中的你要?dú)w還的書(shū)籍條目,Jtable鼠標(biāo)響應(yīng)事件就會(huì)響應(yīng)歸還該圖書(shū),主要代碼與前面的模塊類(lèi)似,這里不再贅述。圖書(shū)查詢(xún)功能讓用戶(hù)查看館藏圖書(shū)情況,如果在按要求填寫(xiě)圖書(shū)信息,并點(diǎn)擊“查詢(xún)”按鈕,即可完成指定條件查詢(xún);如果不輸入條件的話(huà)就查詢(xún)?nèi)繄D書(shū)。更改用戶(hù)密碼能用與修改當(dāng)前登錄用戶(hù)的密碼,每個(gè)操作員僅能修改自己的密碼。 每個(gè)用戶(hù)只能修改自己的密碼,進(jìn)入密碼修改模塊之后用戶(hù)名的文本框要設(shè)置成不可編輯才能讓用戶(hù)只能修改自己的密碼。 設(shè)置文本框不可編輯,jtxtUserName. setEditable(false)。用戶(hù)管理功能用于完成用戶(hù)信息的添加、修改和刪除等功能。用戶(hù)管理功能包括了添加、修改和刪除等功能,必須是用戶(hù)權(quán)限高的管理員才能進(jìn)行該操作。該頁(yè)面用到的代碼與前面的類(lèi)似,這里不再贅述。6系統(tǒng)測(cè)試與優(yōu)化數(shù)據(jù)訪(fǎng)問(wèn)層的數(shù)據(jù)操作部分,如果完全寫(xiě)成SQL語(yǔ)句不僅會(huì)造成程序規(guī)模龐大,還會(huì)造成程序不安全。為此本系統(tǒng)的數(shù)據(jù)操作部分寫(xiě)成了存儲(chǔ)過(guò)程。相對(duì)于直接使用SQL語(yǔ)句,在應(yīng)用程序中直接調(diào)用存儲(chǔ)過(guò)程有以下好處:(1)減少網(wǎng)絡(luò)通信量。調(diào)用一個(gè)行數(shù)不多的存儲(chǔ)過(guò)程與直接調(diào)用SQL語(yǔ)句的網(wǎng)絡(luò)通信量可能不會(huì)有很大的差別,可是如果存儲(chǔ)過(guò)程包含上百行SQL語(yǔ)句,那么其性能絕對(duì)比一條一條的調(diào)用SQL語(yǔ)句要高得多。(2)執(zhí)行速度更快。有兩個(gè)原因:首先,在存儲(chǔ)過(guò)程創(chuàng)建的時(shí)候,數(shù)據(jù)庫(kù)已經(jīng)對(duì)其進(jìn)行了一次解析和優(yōu)化。其次,存儲(chǔ)過(guò)程一旦執(zhí)行,在內(nèi)存中就會(huì)保留一份這個(gè)存儲(chǔ)過(guò)程,這樣下次再執(zhí)行同樣的存儲(chǔ)過(guò)程時(shí),可以從內(nèi)存中直接調(diào)用。(3)更強(qiáng)的適應(yīng)性:由于存儲(chǔ)過(guò)程對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)是通過(guò)存儲(chǔ)過(guò)程來(lái)進(jìn)行的,因此數(shù)據(jù)庫(kù)開(kāi)發(fā)人員可以在不改動(dòng)存儲(chǔ)過(guò)程接口的情況下對(duì)數(shù)據(jù)庫(kù)進(jìn)行任何改動(dòng),而這些改動(dòng)不會(huì)對(duì)應(yīng)用程序造成影響。(4) 布式工作:應(yīng)用程序和數(shù)據(jù)庫(kù)的編碼工作可以分別獨(dú)立進(jìn)行,而不會(huì)相互壓制。下面就以登錄為例子列舉主要代碼;程序中調(diào)用存儲(chǔ)過(guò)程的代碼: public User Login(String id)// { User user = new User()。 try { Connection conn1 = ()。 // 設(shè)置調(diào)用的存儲(chǔ)過(guò)程名及參數(shù)情況 CallableStatement proc = ({call login(?,?,?,?)})。 // 設(shè)置輸入?yún)?shù)值1的值 (1, id)。 // 設(shè)置輸出參數(shù)及返回類(lèi)型 (2, )。 (3, )。 (4, )。 ()。 ((2))。 ((3))。 ((4))。 ()。 } catch (SQLException e) { } return user。 }MySQL數(shù)據(jù)庫(kù)端的存儲(chǔ)過(guò)程為:CREATE DEFINER = `root`@`localhost` PROCEDURE `NewProc`(_nameid varchar(50),OUT _name varchar(50),OUT _password varchar(50),OUT _admin bit)BEGINselect
點(diǎn)擊復(fù)制文檔內(nèi)容
外語(yǔ)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1