




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫系統(tǒng)應(yīng)用與開發(fā)--實(shí)驗(yàn)七精品文檔實(shí)驗(yàn) JDBC進(jìn)階(3)一、相關(guān)知識(shí)點(diǎn)1、JDBC基本概念2、主從關(guān)系,分頁查詢二、實(shí)驗(yàn)?zāi)康模豪斫夥猪摬樵兊母拍詈吞幚矸椒ㄈ?shí)驗(yàn)內(nèi)容:數(shù)據(jù)準(zhǔn)備:用上次實(shí)驗(yàn)中的方法,生成 1000個(gè)讀者和圖書;1、改造讀者模塊,在提取讀者的同時(shí),提取其未歸還的圖書信息第一步:通過程序增加一些借閱紀(jì)錄第二步:改造讀者 javabean,使之包括借閱的圖書信息第三步:改造讀者提取方法,同時(shí)提取未歸還圖書;第四步:修改圖書借閱 ui類并進(jìn)行測(cè)試【實(shí)驗(yàn)結(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)請(qǐng)聯(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)請(qǐng)聯(lián)系管理員刪除精品文檔在圖書管理系統(tǒng)借幾本書修改ui類的地方:1.private Object tblTitle []={ "讀者證號(hào)","姓名","類別","借閱限額,"狀態(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)請(qǐng)聯(lián)系管理員刪除精品文檔" 產(chǎn)商id:" +t2.get(j).getPubid()+ " 價(jià)格"+t2.get(j).getPrice()+ " 狀況:"+t2.get(j).getState();}}tblData [i][5]=imf;測(cè)試:收集于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員刪除精品文檔2、改造讀者管理模塊,將讀者列表頁面改造成分頁查詢方式。第一步:第二步:自行設(shè)計(jì) PageData類,用于存放分頁數(shù)據(jù)第三步:改造ReaderManager類,將其中的查詢讀者方法改造成分頁查詢。第四步:修改ui類,增加上一頁、下一頁按鈕,實(shí)現(xiàn)讀者的分頁查詢,要求每頁20人【實(shí)驗(yàn)結(jié)果與分析】A.PageData類代碼。publicclassPageData{privateinttotalRecordCount;privateintpageCount;privateintpagesize;privateintpageRecordCount;privateList<BeanReader>beanReader;用set與get創(chuàng)建方法收集于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員刪除精品文檔B.給出改造后ReaderManager類的方法代碼。publicPageDatasearchReaderPage(Stringkeyword,intreaderTypeId,PageDatapage)throwsBaseException{//加一個(gè)page類Connectionconn=null;try{conn=DBUtil.getConnection();Stringsql="selectcount(*)fromBeanReaderr,BeanReaderTypertwherer.readerTypeId=rt.readerTypeId"+"andremoveDateisnull"; //這個(gè)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)請(qǐng)聯(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)請(qǐng)聯(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個(gè)按鈕即上一頁,和下一頁需要修改3個(gè)地方第一個(gè)是:privateButtonprevious=newButton("上一頁");privateButtonnext=newButton("下一頁");如圖:收集于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員刪除精品文檔第二個(gè)是:toolBar.add(previous);toolBar.add(next);如圖:第三個(gè)是:增加監(jiān)聽器this.previous.addActionListener(this);this.next.addActionListener(this);收集于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員刪除精品文檔2.對(duì)page類的一些值進(jìn)行復(fù)制{page.setPageRecordCount(1);//初始化當(dāng)前的數(shù)是第一頁page.setPagesize(20);//以20個(gè)記錄為一頁}注意一定要加中括號(hào) 不然會(huì)冒錯(cuò)我也不知道為什么如圖:收集于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員刪除精品文檔有些值在ReaderManager類的searchReaderPage方法中已經(jīng)賦值了如圖:3.對(duì)刷新table的方法進(jìn)行修改readers=(newReaderManager()).searchReaderPage(this.edtKeyword.getText(),rtId,page).getBeanReader();注意需要在:BeanReaderType類中加privatePageDatapage;變量順便加下set與get的方法。不然BeanReaderTypert=this.readerTypeMap_name.get(rtname);這句話會(huì)冒錯(cuò)說searchReaderPage方法有3個(gè)形參而readerType什么只有2個(gè)形參不行 我也不是很懂收集于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員刪除精品文檔4.最后在actionPerformed方法中加2個(gè)if當(dāng)按下上一頁或下一頁按鈕時(shí)對(duì)當(dāng)前頁值進(jìn)行修改再刷新tableelseif(e.getSource()==this.previous){if(page.getPageRecordCount()>1){page.setPageRecordCount(page.getPageRecordCount()-1);this.reloadT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技助力下的現(xiàn)代企業(yè)管理模式
- 日用雜品消費(fèi)心理學(xué)與購買行為考核試卷
- 科技助力提升中醫(yī)館的商業(yè)競(jìng)爭(zhēng)力
- 科技助力綠色生產(chǎn)與環(huán)境保護(hù)
- 洗煤設(shè)備制作合同范本
- 土雞購銷合同范本
- 倉儲(chǔ)作業(yè)的環(huán)保措施計(jì)劃
- 品牌信任度的測(cè)評(píng)與提升計(jì)劃
- 公關(guān)行業(yè)的職業(yè)生涯藍(lán)圖計(jì)劃
- 使用社交媒體增強(qiáng)品牌互動(dòng)計(jì)劃
- 2024年全國體育單招英語考卷和答案
- 食品安全管理制度可打印【7】
- 河北省邯鄲市磁縣2024屆中考數(shù)學(xué)模試卷含解析
- 2024年四川省南充市中考物理試卷真題(含官方答案)
- 2024年學(xué)位法學(xué)習(xí)解讀課件
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫帶答案
- 【基于PLC的停車場(chǎng)車位控制系統(tǒng)設(shè)計(jì)11000字(論文)】
- GB/T 43947-2024低速線控底盤通用技術(shù)要求
- 剪叉式升降工作平臺(tái)作業(yè)專項(xiàng)施工方案24
- 卒中后足內(nèi)翻康復(fù)治療
- 診所申請(qǐng)醫(yī)保定點(diǎn)資料模板(一套)
評(píng)論
0/150
提交評(píng)論