版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 《Java核心技術(shù)》</p><p><b> 綜合實驗報告</b></p><p> 課程名稱: Java核心技術(shù) </p><p> 專 業(yè): 計算機科學與技術(shù) </p><p> 姓 名:
2、 沈倩竹 </p><p> 學 號: 1430110311 </p><p> 指導教師: 王 巖 </p><p> 成 績: </p><
3、;p> 完成日期: 2015 年 12 月 18 日</p><p> 1 系統(tǒng)分析與設計</p><p><b> 1.1 需求分析</b></p><p> 圖書管理系統(tǒng)是高校圖書館不可缺少的一部分,通過圖書管理系統(tǒng)可以實現(xiàn)計算機化的圖書借閱管理,能夠提供方便快速的圖書信息檢索功能和便捷的圖書借閱和歸
4、還功能,并且能夠?qū)D書信息和讀者信息進行管理,方便管理員和讀者的借閱處理。(本人實現(xiàn)了圖書添加、圖書查詢與修改、圖書類別管理、用戶添加、用戶刪除、修改密碼功能模塊的設計)要求系統(tǒng)具備以下特點。</p><p> ?。?)操作簡單、易用。</p><p> ?。?)數(shù)據(jù)存儲可靠,具備較高的處理效率。</p><p> (3)系統(tǒng)安全、穩(wěn)定。</p>&
5、lt;p> ?。?)開發(fā)技術(shù)先進、功能完善、擴展性強。</p><p> 1.2 系統(tǒng)功能設計</p><p> 根據(jù)需求分析,本系統(tǒng)具體的功能模塊圖如圖1.2.1所示。</p><p> 圖1.2.1 圖書借閱系統(tǒng)功能結(jié)構(gòu)圖</p><p> 1.2.1 讀者信息管理</p><p><b&g
6、t; 1、讀者信息添加</b></p><p> 實現(xiàn)向數(shù)據(jù)庫中添加讀者信息的功能。</p><p> 2、讀者信息查詢與修改</p><p> 實現(xiàn)查詢指定編號、姓名、類別以及所在部門的讀者信息,并對選中的讀者信息進行修改操作。</p><p> 1.2.2 圖書信息管理</p><p>&l
7、t;b> 1、圖書信息添加</b></p><p> 實現(xiàn)向數(shù)據(jù)庫中添加圖書信息的功能。</p><p> 2、圖書信息查詢與修改</p><p> 實現(xiàn)查詢指定ISBN、圖書名稱、類別、作者以及出版社的圖書信息,并對選中的圖書信息進行修改操作。</p><p> 1.2.3 圖書借閱管理</p>
8、<p><b> 1、圖書借閱</b></p><p> 輸入讀者的編號以及借閱的圖書信息,記錄系統(tǒng)當前時間為借閱時間。</p><p><b> 2、圖書歸還</b></p><p> 輸入讀者的編號并選擇其名下已借閱的圖書,記錄系統(tǒng)當前日期為歸還時間,判斷是否超期并計算罰金。</p>&
9、lt;p> 1.2.4 基礎(chǔ)信息維護</p><p><b> 1、圖書類別設置</b></p><p> 實現(xiàn)顯示數(shù)據(jù)庫中圖書類別的功能,并對選中的圖書類別進行增、刪、改、查功能。</p><p><b> 2、讀者類別設置</b></p><p> 實現(xiàn)顯示數(shù)據(jù)庫中讀者類別的功
10、能,并對選中的讀者類別進行增、刪、改、查功能。</p><p><b> 3、罰金設置</b></p><p> 可以指定超期一天的罰金標準。</p><p> 1.2.5 用戶管理</p><p><b> 1、修改密碼</b></p><p> 實現(xiàn)當前用戶登
11、陸后,修改用戶自己密碼的功能。</p><p><b> 2、用戶添加</b></p><p> 實現(xiàn)向數(shù)據(jù)庫中增加用戶的功能。</p><p><b> 3、用戶刪除</b></p><p> 實現(xiàn)顯示數(shù)據(jù)庫中的用戶信息,并對選中的用戶進行刪除的功能。</p><p&g
12、t;<b> 數(shù)據(jù)庫設計</b></p><p> 根據(jù)需求分析,創(chuàng)建6個數(shù)據(jù)表,即圖書表、圖書類型表、讀者表、讀者類型表、圖書借閱表以及用戶表。</p><p> 1、圖書表,表名為book,包括ISBN、圖書類型編號、圖書名稱、作者、出版社、出版日期、印刷次數(shù)和單價,其中ISBN為主鍵,如表1.1所示。</p><p> 表1.1
13、圖書信息表book</p><p> 圖書表數(shù)據(jù)如圖1.3.1所示。</p><p> 圖1.3.1 圖書表數(shù)據(jù)</p><p> 2、圖書類型表,表名為booktype,包括圖書類型編號、圖書類型名稱,其中圖書類型編號為主鍵,如表1.2所示。</p><p> 表1.2 圖書類型表booktype</p><p&
14、gt; 圖書類型表數(shù)據(jù)如圖1.3.2所示。</p><p> 圖1.3.2 圖書類型表數(shù)據(jù)</p><p> 3、讀者表,表名為reader,包括讀者編號、讀者類型編號、讀者姓名、年齡、性別、電話、所在系部、注冊日期,其中讀者編號為主鍵,如表1.3所示。</p><p> 表1.3 讀者信息表reader</p><p> 讀者表數(shù)
15、據(jù)如圖1.3.3所示。</p><p> 圖1.3.3 讀者表數(shù)據(jù)</p><p> 4、讀者類型表,表名為readertype,包括讀者類型編號、讀者類型名稱、最多可借圖書數(shù)量、最長可借閱圖書天數(shù),其中讀者類型編號為主鍵,如表1.4所示。</p><p> 表1.4 讀者類型表readertype</p><p> 讀者類型表數(shù)據(jù)如
16、圖1.3.4所示。</p><p> 圖1.3.4 讀者類型表數(shù)據(jù)</p><p> 5、用戶表,表名為users,包括用戶編號、用戶名稱、用戶密碼,其中用戶編號為主鍵,如表1.5所示。</p><p> 表1.5 用戶信息表users</p><p> 用戶表數(shù)據(jù)如圖1.3.5所示。</p><p> 圖1
17、.3.5 用戶表數(shù)據(jù)</p><p> 6、圖書借閱表,表名為borrowbook,包括讀者編號、ISBN、借書日期、還書日期、罰金,其中讀者編號和ISBN為聯(lián)合主鍵,如表1.6所示。</p><p> 表1.6 圖書借閱表borrowbook</p><p> 圖書借閱表數(shù)據(jù)如圖1.3.6所示。</p><p> 圖1.3.6 圖書
18、借閱表數(shù)據(jù)</p><p><b> 2 系統(tǒng)實現(xiàn)</b></p><p><b> 2.1 系統(tǒng)框架</b></p><p> 項目分為model、view、db三個包,具體項目架構(gòu)的設計如圖2.1.1所示。</p><p> 圖2.1.1 圖書借閱表數(shù)據(jù)</p><
19、;p> 1、在com.bbm.model包中創(chuàng)建圖書借閱管理系統(tǒng)中的實體類:Book類,BookType類,Reader類,ReaderType類,Users類,BorrowBook類,如表2.1所示。</p><p> 表2.1 實體類表com.bbm.model</p><p> 2、在com.bbm.view包中創(chuàng)建圖書借閱管理系統(tǒng)中的界面及功能類,如表2.2所示。<
20、;/p><p> 表2.2 界面類表com.bbm.view</p><p> 3、在com.bbm.db包中創(chuàng)建圖書借閱管理系統(tǒng)中的數(shù)據(jù)訪問操作類,如表2.3所示。</p><p> 表2.3 數(shù)據(jù)訪問操作類表com.bbm.db</p><p> 2.2 圖書類型管理模塊的實現(xiàn)</p><p> 2.2.1
21、 圖書類型管理模塊界面的設計與實現(xiàn)</p><p> 圖書類型管理模塊界面的實現(xiàn)分為三個面板,圖書類型查詢面板(selectjp),其中包含查詢結(jié)果面板(jspjp)位于selectjp中部,selectjp整體位于整個JFrame的北部,修改信息面板(infojp)位于整個JFrame中部,按鈕面板(buttonjp)位于整個JFrame南部。如圖2.2.1所示。</p><p>
22、 圖2.2.1 圖書類型管理模塊界面</p><p><b> 主要代碼如下:</b></p><p> selectjp.add(jspjp,BorderLayout.CENTER);</p><p> this.add(selectjp,BorderLayout.NORTH);</p><p> this.a
23、dd(infojp,BorderLayout.CENTER);</p><p> this.add(buttonjp,BorderLayout.SOUTH);</p><p> 2.2.2 圖書類型管理模塊數(shù)據(jù)操作的設計與實現(xiàn)</p><p> 本模塊需要進行的數(shù)據(jù)操作如下:</p><p> 1、獲取數(shù)據(jù)庫中圖書類型表中的數(shù)據(jù)&l
24、t;/p><p><b> 主要代碼如下:</b></p><p> public static List<BookType> selectBookType() {</p><p> List<BookType> list = new ArrayList<BookType>();</p>&l
25、t;p> String sql = "select * from booktype";</p><p> ResultSet rs = Dao.executeQuery(sql);</p><p><b> try {</b></p><p> while (rs.next()) {</p>&
26、lt;p> BookType bt = new BookType();</p><p> bt.setId(rs.getInt("id"));</p><p> bt.setTypename(rs.getString("typename"));</p><p> list.add(bt);</p>
27、<p><b> }</b></p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> Dao.close();</p><p>
28、 return list;</p><p><b> }</b></p><p> 2、對指定的圖書類型的圖書信息進行查詢</p><p><b> 主要代碼如下:</b></p><p> public static List<BookType> selectBookTypeN
29、ame(String type) {</p><p> List<BookType> list = new ArrayList<BookType>();</p><p> String sql = "select * from booktype where typename like '%"+type+"%'&qu
30、ot;;</p><p> ResultSet rs = Dao.executeQuery(sql);</p><p><b> try {</b></p><p> while (rs.next()) {</p><p> BookType bt = new BookType();</p><
31、;p> bt.setId(rs.getInt("id"));</p><p> bt.setTypename(rs.getString("typename"));</p><p> list.add(bt);</p><p><b> }</b></p><p>
32、} catch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> Dao.close();</p><p> return list;</p><p><b> } </b
33、></p><p> 3、對其進行添加操作</p><p><b> 主要代碼如下: </b></p><p> public static int insertBookType(String btno,String typename) {</p><p> int i = 0;</p>&l
34、t;p><b> try {</b></p><p> String sql = "insert into booktype values("+btno+",'"+typename+"')";</p><p> i = Dao.executeUpdate(sql);</p&g
35、t;<p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> Dao.close();</p><p><b> return i;</b></p>
36、<p><b> }</b></p><p> 4、對其進行修改操作</p><p> 代碼同3,具體sql語句如下:</p><p> String sql = "update booktype set id="+btno+",typename='"+typename+&q
37、uot;'where id="+btno+"";</p><p> 5、對其進行刪除操作</p><p> 代碼同3,具體sql語句如下:</p><p> String sql = "delete from booktype where id="+id+"";</p>
38、<p> 2.2.3 圖書類型管理模塊功能的設計與實現(xiàn)</p><p> 本模塊實現(xiàn)的功能如下:</p><p> 獲取數(shù)據(jù)庫中圖書類型表中的數(shù)據(jù)到JTable中,并添加鼠標監(jiān)聽如上圖2.2.1所示。</p><p><b> 主要代碼為:</b></p><p> Object[][] resul
39、ts=getSelect(BookTypeDao.selectBookType());//顯示圖書類別信息</p><p><b> //添加鼠標監(jiān)聽</b></p><p> class TableListener extends MouseAdapter{</p><p><b> @Override</b>&l
40、t;/p><p> public void mouseClicked(MouseEvent e) {</p><p> int selRow = jt.getSelectedRow();//獲取選擇表中的某一行 保存信息</p><p> btnojtf.setText(jt.getValueAt(selRow, 0).toString().trim());//獲
41、取列并賦值</p><p> btnamejtf.setText(jt.getValueAt(selRow, 1).toString().trim()); </p><p><b> }</b></p><p><b> }</b></p><p> 對查詢按鈕添加監(jiān)聽器(Se
42、lectAction),對圖書類別進行模糊查詢,如圖2.2.2所示。</p><p> 圖2.2.2 查詢功能的實現(xiàn)</p><p><b> 主要代碼為:</b></p><p> class SelectAction implements ActionListener{</p><p><b> @
43、Override</b></p><p> public void actionPerformed(ActionEvent e) {</p><p> // TODO Auto-generated method stub</p><p> String btname=btjtf.getText().trim();</p><p&
44、gt; BookTypeDao.selectBookTypeName(btname);</p><p> Object[][]results=getSelect(BookTypeDao.selectBookTypeName(btname));</p><p> jt = new JTable(results, readersearch);</p><p>
45、jsp.setViewportView(jt); </p><p> jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);</p><p><b> }</b></p><p><b> }</b></p><p> 對添
46、加按鈕添加監(jiān)聽器(AddAction),向圖書類別表中添加新的圖書類別信息,例如:添加編號為“8”,名稱為“化學”的圖書類別信息,如圖2.2.3(1)所示。</p><p> 圖2.2.3(1)添加成功</p><p> 更新后,如圖2.2.3(2)所示。</p><p> 圖2.2.3(2)添加功能的實現(xiàn)</p><p><b&
47、gt; 主要代碼為:</b></p><p> class AddAction implements ActionListener{</p><p><b> @Override</b></p><p> public void actionPerformed(ActionEvent e) {</p><
48、p> if (btnojtf.getText().length()==0) {</p><p> JOptionPane.showMessageDialog(null, "圖書類型編號不能為空!");</p><p><b> return;</b></p><p><b> }</b>&
49、lt;/p><p> if (btnamejtf.getText().length() == 0) {</p><p> JOptionPane.showMessageDialog(null, "圖書類型名稱不能為空!");</p><p><b> return;</b></p><p><
50、b> } </b></p><p> String btno= btnojtf.getText().trim();</p><p> String btname=(String)btnamejtf.getText().trim();</p><p> int i=BookTypeDao.insertBookType(btno,btname
51、);</p><p> if (i==1) {</p><p> JOptionPane.showMessageDialog(null, "添加成功");</p><p> Object[][] results = getSelect(BookTypeDao.selectBookType());</p><p>
52、jt=new JTable(results, readersearch);</p><p> jsp.setViewportView(jt);</p><p> jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); </p><p><b> }</b></p>&
53、lt;p><b> }</b></p><p><b> }</b></p><p> 對修改按鈕添加監(jiān)聽器(UpdateAction),修改圖書類別表中信息,例如將剛剛添加的“化學”修改為“生物”,如圖2.2.4(1)所示。</p><p> 圖2.2.4(1)修改成功</p><p&g
54、t; 更新后,如圖2.2.4(2)所示。</p><p> 圖2.2.4(2)修改功能的實現(xiàn)</p><p><b> 主要代碼為:</b></p><p> class UpdateAction implements ActionListener{</p><p><b> @Override<
55、;/b></p><p> public void actionPerformed(ActionEvent e) {</p><p> // TODO Auto-generated method stub</p><p> String btno=btnojtf.getText().trim();</p><p> String
56、 btname=btnamejtf.getText().trim();</p><p> int i=BookTypeDao.updateBookType(btno,btname);</p><p> System.out.println(i);</p><p><b> if(i==1){</b></p><p>
57、; JOptionPane.showMessageDialog(null, "修改成功");</p><p> Object[][] results = getSelect(BookTypeDao.selectBookType());</p><p> jt=new JTable(results, readersearch);</p><p&g
58、t; jsp.setViewportView(jt);</p><p> jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</
59、b></p><p> 6、對刪除按鈕添加監(jiān)聽器(DeleteAction),刪除圖書類別表中信息,例如將剛剛修改的“生物”刪除,如圖2.2.5(1)所示。</p><p> 圖2.2.5(1)刪除成功</p><p> 更新后,如圖2.2.5(2)所示。</p><p> 圖2.2.5(2)刪除功能的實現(xiàn)</p>
60、<p><b> 主要代碼為:</b></p><p> class DeleteAction implements ActionListener{</p><p><b> @Override</b></p><p> public void actionPerformed(ActionEvent e
61、) {</p><p> // TODO Auto-generated method stub</p><p> String btno=btnojtf.getText().trim();</p><p> int i=BookTypeDao.deleteBookType(btno);</p><p> System.out.prin
62、tln(i);</p><p><b> if(i==1){</b></p><p> JOptionPane.showMessageDialog(null, "刪除成功!");</p><p> Object[][] results = getSelect(BookTypeDao.selectBookType());
63、</p><p> jt=new JTable(results, readersearch);</p><p> jsp.setViewportView(jt);</p><p> jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);</p><p><b> }</b>&l
64、t;/p><p><b> }</b></p><p><b> }</b></p><p> 對退出按鈕添加監(jiān)聽器(OutAction),實現(xiàn)關(guān)閉程序功能。</p><p><b> 主要代碼如下:</b></p><p> class OutA
65、ction implements ActionListener{</p><p><b> @Override</b></p><p> public void actionPerformed(ActionEvent e) {</p><p> // TODO Auto-generated method stub</p>&
66、lt;p> setVisible(false);</p><p><b> }</b></p><p> 2.3 用戶添加模塊的實現(xiàn)</p><p> 2.3.1 用戶添加模塊界面的設計與實現(xiàn)</p><p> 用戶添加模塊界面的實現(xiàn)分為兩個面板,用戶添加信息面板(jp1,一個2行兩列的表格)位于整
67、個JFrame的中部,按鈕面板(buttonjp)位于整個JFrame的南部。如圖2.3.1所示。</p><p> 圖2.3.1 用戶添加模塊界面</p><p><b> 主要代碼如下:</b></p><p> jp1.setLayout(new GridLayout(2,2));</p><p> thi
68、s.add(jp1,BorderLayout.CENTER);</p><p> this.add(buttonjp,BorderLayout.SOUTH);</p><p> 2.3.2 用戶添加模塊數(shù)據(jù)操作的設計與實現(xiàn)</p><p> 用戶添加模塊需要進行的數(shù)據(jù)操作為向數(shù)據(jù)庫的用戶表中添加用名和密碼。</p><p><b
69、> 主要代碼如下:</b></p><p> public static int insertUser(String name,String pwd){</p><p> int i = 0;</p><p><b> try {</b></p><p> String sql = "
70、;insert into users(name,password) values('"+name+"','"+pwd+"')"; </p><p> i = Dao.executeUpdate(sql);</p><p> } catch (Exception e) {</p>&l
71、t;p> e.printStackTrace();</p><p><b> }</b></p><p> Dao.close();</p><p><b> return i;</b></p><p><b> }</b></p><p&g
72、t; 2.2.3 用戶添加模塊功能的設計與實現(xiàn)</p><p> 1、對添加按鈕添加監(jiān)聽器(AddActionListener),例如向數(shù)據(jù)庫中添加用戶名為“添加”的用戶,如圖2.3.2(1)所示。</p><p> 圖2.3.2(1) 添加成功</p><p> 查看數(shù)據(jù)庫中用戶表的信息,如圖2.3.2(2)所示。</p><p>
73、; 圖2.3.2(2) 用戶表中的信息</p><p><b> 主要代碼為:</b></p><p> class AddActionListener implements ActionListener{</p><p><b> @Override</b></p><p> publi
74、c void actionPerformed(ActionEvent e) {</p><p> String user=userjtf.getText().trim();</p><p> String pwd=pwdjtf.getText().trim();</p><p> int i=UserDao.insertUser(user,pwd);</
75、p><p> System.out.println(i);</p><p><b> if(i==1){</b></p><p> JOptionPane.showMessageDialog(null, "添加成功!");</p><p><b> }</b></p&g
76、t;<p><b> }</b></p><p><b> }</b></p><p> 2、對關(guān)閉按鈕添加監(jiān)聽器(CloseActionListener),實現(xiàn)關(guān)閉程序功能。</p><p> class CloseActionListener implements ActionListener{
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于-java的圖書管理系統(tǒng)
- 基于java的圖書管理系統(tǒng)開發(fā)
- 畢業(yè)論文(基于java的圖書管理系統(tǒng))
- 基于java的圖書管理系統(tǒng)設計與實現(xiàn)
- 圖書管理系統(tǒng)(java+mssql)
- 基于java的圖書管理系統(tǒng)的設計與實現(xiàn)
- 基于jsp(java)圖書管理系統(tǒng)的設計和實現(xiàn)
- 基于-jsp(java)圖書管理系統(tǒng)的設計和實現(xiàn)
- java課程設計(基于ui的圖書管理系統(tǒng))
- java課程設計--圖書管理系統(tǒng)
- 基于java的圖書管理系統(tǒng)的設計畢業(yè)論文
- java圖書管理系統(tǒng)畢業(yè)設計
- 基于java的圖書管理系統(tǒng)的開發(fā)(含源文件)
- 基于java web的圖書管理系統(tǒng)的設計與實現(xiàn)
- 基于java語言的小型圖書管理系統(tǒng)【畢業(yè)論文】
- 圖書管理系統(tǒng)圖書管理系統(tǒng)
- 課程設計---java web圖書管理系統(tǒng)
- java課程設計-- 小型圖書管理系統(tǒng)
- java課程設計--小型圖書管理系統(tǒng)
- java課程設計小型圖書管理系統(tǒng)
評論
0/150
提交評論