數(shù)據(jù)庫系統(tǒng)應(yīng)用與開發(fā)-實驗七資料講解_第1頁
數(shù)據(jù)庫系統(tǒng)應(yīng)用與開發(fā)-實驗七資料講解_第2頁
數(shù)據(jù)庫系統(tǒng)應(yīng)用與開發(fā)-實驗七資料講解_第3頁
數(shù)據(jù)庫系統(tǒng)應(yīng)用與開發(fā)-實驗七資料講解_第4頁
數(shù)據(jù)庫系統(tǒng)應(yīng)用與開發(fā)-實驗七資料講解_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)據(jù)庫系統(tǒng)應(yīng)用與開發(fā)--實驗七精品文檔實驗 JDBC進階(3)一、相關(guān)知識點1、JDBC基本概念2、主從關(guān)系,分頁查詢二、實驗目的:理解分頁查詢的概念和處理方法三、實驗內(nèi)容:數(shù)據(jù)準備:用上次實驗中的方法,生成 1000個讀者和圖書;1、改造讀者模塊,在提取讀者的同時,提取其未歸還的圖書信息第一步:通過程序增加一些借閱紀錄第二步:改造讀者 javabean,使之包括借閱的圖書信息第三步:改造讀者提取方法,同時提取未歸還圖書;第四步:修改圖書借閱 ui類并進行測試【實驗結(jié)果與分析】A、 javabean類代碼。private List<BeanBook> beanBook ;public List<BeanBook>getBeanBook(){return beanBook ;}public void setBeanBook(List<BeanBook>beanBook){this .beanBook =beanBook;}收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔B、 給出改造后ReaderManager類的方法代碼。List<BeanBook>result1= newArrayList<BeanBook>();Stringsql1= "selecta.barcode,a.bookname,a.pubid,a.price,a.statefrombeanbooka,beanbooklendrecordbwhereb.readerid='" +rs.getString(1)+ "'andb.bookBarcode=a.barcodeandb.returnDateisnull" ;pst1=conn.prepareStatement(sql1);while (rs1.next()){BeanBookb= newBeanBook();b.setBarcode(rs1.getString(1));b.setBookname(rs1.getString(2));b.setPubid(rs1.getString(3));b.setPrice(rs1.getFloat(4));b.setState(rs1.getString(5));result1.add(b);}r.setBeanBook(result1);result.add(r);收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔在圖書管理系統(tǒng)借幾本書修改ui類的地方:1.private Object tblTitle []={ "讀者證號","姓名","類別","借閱限額,"狀態(tài)","未歸還圖書信息"};2.tblData =newObject[ readers .size()][6];3.List<BeanBook>t2= readers .get(i).getBeanBook();Stringimf= "";if (t2!= null ){for (int j=0;j<t2.size();j++){imf=imf+ "條形碼:" +t2.get(j).getBarcode()+ " 書名:"+t2.get(j).getBookname()+收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔" 產(chǎn)商id:" +t2.get(j).getPubid()+ " 價格"+t2.get(j).getPrice()+ " 狀況:"+t2.get(j).getState();}}tblData [i][5]=imf;測試:收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔2、改造讀者管理模塊,將讀者列表頁面改造成分頁查詢方式。第一步:第二步:自行設(shè)計 PageData類,用于存放分頁數(shù)據(jù)第三步:改造ReaderManager類,將其中的查詢讀者方法改造成分頁查詢。第四步:修改ui類,增加上一頁、下一頁按鈕,實現(xiàn)讀者的分頁查詢,要求每頁20人【實驗結(jié)果與分析】A.PageData類代碼。publicclassPageData{privateinttotalRecordCount;privateintpageCount;privateintpagesize;privateintpageRecordCount;privateList<BeanReader>beanReader;用set與get創(chuàng)建方法收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔B.給出改造后ReaderManager類的方法代碼。publicPageDatasearchReaderPage(Stringkeyword,intreaderTypeId,PageDatapage)throwsBaseException{//加一個page類Connectionconn=null;try{conn=DBUtil.getConnection();Stringsql="selectcount(*)fromBeanReaderr,BeanReaderTypertwherer.readerTypeId=rt.readerTypeId"+"andremoveDateisnull"; //這個sql是為了記錄總記錄數(shù)if(rs.next())page.setTotalRecordCount(rs.getInt(1)); //賦值總記錄數(shù)page.setPageCount(page.getTotalRecordCount()/page.getPagesize()); //賦值總頁面數(shù)List<BeanReader>result1=newArrayList<BeanReader>();收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔Stringsql1="selecttop"+page.getPagesize()+"readerid,readerName,r.readerTypeId,r.lendBookLimitted,createDate,creatorUserId,stopDate,stopUserId,rt.readerTypeName"+"fromBeanReaderr,BeanReaderTypertwherer.readerTypeId=rt.readerTypeId"+andremoveDateisnull";if(page.getPageRecordCount()!=1)sql1+="andreaderidnotin(selecttop"+(page.getPageRecordCount()-1)*(page.getPagesize())+"readeridfromBeanReaderwhereremoveDateisnull)";if(readerTypeId>0)sql1+="andr.readerTypeId="+readerTypeId;if(keyword!=null&&!"".equals(keyword))sql1+="and(readeridlike?orreaderNamelike?)";sql1+="orderbyreaderid";pst1=conn.prepareStatement(sql1);if(keyword!=null&&!"".equals(keyword)){pst1.setString(1,"%"+keyword+"%");pst1.setString(2,"%"+keyword+"%");}while(rs1.next()){BeanReaderr=newBeanReader();r.setReaderid(rs1.getString(1));r.setReaderName(rs1.getString(2));r.setReaderTypeId(rs1.getInt(3));r.setLendBookLimitted(rs1.getInt(4));r.setCreateDate(rs1.getDate(5));r.setCreatorUserId(rs1.getString(6));r.setStopDate(rs1.getDate(7));r.setStopUserId(rs1.getString(8));r.setReaderTypeName(rs1.getString(9));List<BeanBook>result2=newArrayList<BeanBook>();Stringsql2="selecta.barcode,a.bookname,a.pubid,a.price,a.statefrombeanbooka,beanbooklendrecordbwhereb.readerid='"+rs1.getString(1)+"'andb.bookBarcode=a.barcodeandb.returnDateisnull";pst2=conn.prepareStatement(sql2);收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔while(rs2.next()){BeanBookb=newBeanBook();b.setBarcode(rs2.getString(1));b.setBookname(rs2.getString(2));b.setPubid(rs2.getString(3));b.setPrice(rs2.getFloat(4));b.setState(rs2.getString(5));result2.add(b);}r.setBeanBook(result2);result1.add(r);}page.setBeanReader(result1);}catch(SQLExceptione){e.printStackTrace();thrownewDbException(e);}finally{if(conn!=null)try{conn.close();}catch(SQLExceptione){TODOAuto-generatedcatchblocke.printStackTrace();}}returnpage;}給出ui類中的修改部分(注:生成表格的方法需做微調(diào))1.首先增加2個按鈕即上一頁,和下一頁需要修改3個地方第一個是:privateButtonprevious=newButton("上一頁");privateButtonnext=newButton("下一頁");如圖:收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔第二個是:toolBar.add(previous);toolBar.add(next);如圖:第三個是:增加監(jiān)聽器this.previous.addActionListener(this);this.next.addActionListener(this);收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔2.對page類的一些值進行復制{page.setPageRecordCount(1);//初始化當前的數(shù)是第一頁page.setPagesize(20);//以20個記錄為一頁}注意一定要加中括號 不然會冒錯我也不知道為什么如圖:收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔有些值在ReaderManager類的searchReaderPage方法中已經(jīng)賦值了如圖:3.對刷新table的方法進行修改readers=(newReaderManager()).searchReaderPage(this.edtKeyword.getText(),rtId,page).getBeanReader();注意需要在:BeanReaderType類中加privatePageDatapage;變量順便加下set與get的方法。不然BeanReaderTypert=this.readerTypeMap_name.get(rtname);這句話會冒錯說searchReaderPage方法有3個形參而readerType什么只有2個形參不行 我也不是很懂收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔4.最后在actionPerformed方法中加2個if當按下上一頁或下一頁按鈕時對當前頁值進行修改再刷新tableelseif(e.getSource()==this.previous){if(page.getPageRecordCount()>1){page.setPageRecordCount(page.getPageRecordCount()-1);this.reloadT

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論