版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用與開(kāi)發(fā)--實(shí)驗(yàn)七精品文檔實(shí)驗(yàn) JDBC進(jìn)階(3)一、相關(guān)知識(shí)點(diǎn)1、JDBC基本概念2、主從關(guān)系,分頁(yè)查詢(xún)二、實(shí)驗(yàn)?zāi)康模豪斫夥猪?yè)查詢(xún)的概念和處理方法三、實(shí)驗(yàn)內(nèi)容:數(shù)據(jù)準(zhǔn)備:用上次實(shí)驗(yàn)中的方法,生成 1000個(gè)讀者和圖書(shū);1、改造讀者模塊,在提取讀者的同時(shí),提取其未歸還的圖書(shū)信息第一步:通過(guò)程序增加一些借閱紀(jì)錄第二步:改造讀者 javabean,使之包括借閱的圖書(shū)信息第三步:改造讀者提取方法,同時(shí)提取未歸還圖書(shū);第四步:修改圖書(shū)借閱 ui類(lèi)并進(jìn)行測(cè)試【實(shí)驗(yàn)結(jié)果與分析】A、 javabean類(lèi)代碼。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類(lèi)的方法代碼。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)系管理員刪除精品文檔在圖書(shū)管理系統(tǒng)借幾本書(shū)修改ui類(lèi)的地方:1.private Object tblTitle []={ "讀者證號(hào)","姓名","類(lèi)別","借閱限額,"狀態(tài)","未歸還圖書(shū)信息"};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()+ " 書(shū)名:"+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、改造讀者管理模塊,將讀者列表頁(yè)面改造成分頁(yè)查詢(xún)方式。第一步:第二步:自行設(shè)計(jì) PageData類(lèi),用于存放分頁(yè)數(shù)據(jù)第三步:改造ReaderManager類(lèi),將其中的查詢(xún)讀者方法改造成分頁(yè)查詢(xún)。第四步:修改ui類(lèi),增加上一頁(yè)、下一頁(yè)按鈕,實(shí)現(xiàn)讀者的分頁(yè)查詢(xún),要求每頁(yè)20人【實(shí)驗(yàn)結(jié)果與分析】A.PageData類(lèi)代碼。publicclassPageData{privateinttotalRecordCount;privateintpageCount;privateintpagesize;privateintpageRecordCount;privateList<BeanReader>beanReader;用set與get創(chuàng)建方法收集于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員刪除精品文檔B.給出改造后ReaderManager類(lèi)的方法代碼。publicPageDatasearchReaderPage(Stringkeyword,intreaderTypeId,PageDatapage)throwsBaseException{//加一個(gè)page類(lèi)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()); //賦值總頁(yè)面數(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類(lèi)中的修改部分(注:生成表格的方法需做微調(diào))1.首先增加2個(gè)按鈕即上一頁(yè),和下一頁(yè)需要修改3個(gè)地方第一個(gè)是:privateButtonprevious=newButton("上一頁(yè)");privateButtonnext=newButton("下一頁(yè)");如圖:收集于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員刪除精品文檔第二個(gè)是:toolBar.add(previous);toolBar.add(next);如圖:第三個(gè)是:增加監(jiān)聽(tīng)器this.previous.addActionListener(this);this.next.addActionListener(this);收集于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員刪除精品文檔2.對(duì)page類(lèi)的一些值進(jìn)行復(fù)制{page.setPageRecordCount(1);//初始化當(dāng)前的數(shù)是第一頁(yè)page.setPagesize(20);//以20個(gè)記錄為一頁(yè)}注意一定要加中括號(hào) 不然會(huì)冒錯(cuò)我也不知道為什么如圖:收集于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員刪除精品文檔有些值在ReaderManager類(lèi)的searchReaderPage方法中已經(jīng)賦值了如圖:3.對(duì)刷新table的方法進(jìn)行修改readers=(newReaderManager()).searchReaderPage(this.edtKeyword.getText(),rtId,page).getBeanReader();注意需要在:BeanReaderType類(lèi)中加privatePageDatapage;變量順便加下set與get的方法。不然BeanReaderTypert=this.readerTypeMap_name.get(rtname);這句話(huà)會(huì)冒錯(cuò)說(shuō)searchReaderPage方法有3個(gè)形參而readerType什么只有2個(gè)形參不行 我也不是很懂收集于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員刪除精品文檔4.最后在actionPerformed方法中加2個(gè)if當(dāng)按下上一頁(yè)或下一頁(yè)按鈕時(shí)對(duì)當(dāng)前頁(yè)值進(jìn)行修改再刷新tableelseif(e.getSource()==this.previous){if(page.getPageRecordCount()>1){page.setPageRecordCount(page.getPageRecordCount()-1);this.reloadT
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- LY/T 2280-2024中國(guó)森林認(rèn)證森林經(jīng)營(yíng)應(yīng)用指南
- 蘇科版版數(shù)學(xué)七年級(jí)上冊(cè)聽(tīng)評(píng)課記錄《2-7 有理數(shù)的乘方》第1課時(shí)
- 人教部編版八年級(jí)道德與法治上冊(cè):8.2《堅(jiān)持國(guó)家利益至上》聽(tīng)課評(píng)課記錄3
- 蘇科版九年級(jí)數(shù)學(xué)聽(tīng)評(píng)課記錄:第27講 切線(xiàn)性質(zhì)定理的應(yīng)用
- 用工合同范本(2篇)
- 生態(tài)環(huán)境融資協(xié)議書(shū)(2篇)
- 環(huán)境友好化學(xué)品研發(fā)合同(2篇)
- 一年級(jí)下雪啦聽(tīng)評(píng)課記錄
- 六年級(jí)數(shù)學(xué)上聽(tīng)評(píng)課記錄
- 人教版數(shù)學(xué)八年級(jí)下冊(cè)《構(gòu)建知識(shí)體系》聽(tīng)評(píng)課記錄2
- 2025年大慶職業(yè)學(xué)院高職單招語(yǔ)文2018-2024歷年參考題庫(kù)頻考點(diǎn)含答案解析
- 2025年中國(guó)南方航空股份有限公司招聘筆試參考題庫(kù)含答案解析
- 商務(wù)部發(fā)布《中國(guó)再生資源回收行業(yè)發(fā)展報(bào)告(2024)》
- 山東省濟(jì)南市2024-2024學(xué)年高三上學(xué)期1月期末考試 地理 含答案
- 2025年福建新華發(fā)行(集團(tuán))限責(zé)任公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 【課件】液體的壓強(qiáng)(課件)-2024-2025學(xué)年人教版物理八年級(jí)下冊(cè)
- 實(shí)施彈性退休制度暫行辦法解讀課件
- 冷凍食品配送售后服務(wù)體系方案
- 江蘇省駕??荚嚳颇恳豢荚囶}庫(kù)
- 四川省成都市青羊區(qū)成都市石室聯(lián)合中學(xué)2023-2024學(xué)年七上期末數(shù)學(xué)試題(解析版)
- 2024-2030年中國(guó)自動(dòng)光學(xué)檢測(cè)儀(AOI)市場(chǎng)競(jìng)爭(zhēng)格局與前景發(fā)展策略分析報(bào)告
評(píng)論
0/150
提交評(píng)論