




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫系統(tǒng)應(yīng)用與開發(fā)--實(shí)驗(yàn)七精品文檔實(shí)驗(yàn) JDBC進(jìn)階(3)一、相關(guān)知識點(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)行測試【實(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)請聯(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()+ " 價(jià)格"+t2.get(j).getPrice()+ " 狀況:"+t2.get(j).getState();}}tblData [i][5]=imf;測試:收集于網(wǎng)絡(luò),如有侵權(quán)請聯(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)請聯(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)請聯(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個(gè)按鈕即上一頁,和下一頁需要修改3個(gè)地方第一個(gè)是:privateButtonprevious=newButton("上一頁");privateButtonnext=newButton("下一頁");如圖:收集于網(wǎng)絡(luò),如有侵權(quán)請聯(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)請聯(lián)系管理員刪除精品文檔2.對page類的一些值進(jìn)行復(fù)制{page.setPageRecordCount(1);//初始化當(dāng)前的數(shù)是第一頁page.setPagesize(20);//以20個(gè)記錄為一頁}注意一定要加中括號 不然會(huì)冒錯(cuò)我也不知道為什么如圖:收集于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系管理員刪除精品文檔有些值在ReaderManager類的searchReaderPage方法中已經(jīng)賦值了如圖:3.對刷新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)請聯(lián)系管理員刪除精品文檔4.最后在actionPerformed方法中加2個(gè)if當(dāng)按下上一頁或下一頁按鈕時(shí)對當(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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025年商旅行業(yè)市場前景及投資研究報(bào)告:管理市場
- 穆棱輔警考試題庫2024
- 老王說課課件模板
- 2025年汝陽縣社區(qū)工作者招聘考試筆試試題(含答案)
- 老年護(hù)理安全課件
- 老年護(hù)理壓瘡課件
- 老年中醫(yī)養(yǎng)生教學(xué)課件
- 知識產(chǎn)權(quán)密集型部分股份轉(zhuǎn)讓合同樣本
- 生態(tài)農(nóng)業(yè)部分股權(quán)投資與產(chǎn)業(yè)鏈整合合同
- 餐飲連鎖企業(yè)員工福利待遇合同范本
- 廣東省湛江市雷州市2023-2024學(xué)年六年級下學(xué)期4月月考綜合試題
- 護(hù)理MDT多學(xué)科協(xié)作模式
- 《槍炮、病菌與鋼鐵》讀書分享交流會(huì)
- DB13-T1431-2011森林消防物資儲(chǔ)備庫建設(shè)和管理規(guī)范
- 煙臺(tái)市開發(fā)區(qū)行業(yè)報(bào)告
- 臨床男科學(xué)與男科疾病診療
- 乳腺癌輔助化療
- 10kV試驗(yàn)報(bào)告模板-大全
- 醫(yī)院保潔服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 范卿平人教版初三化學(xué)講義全集
- 產(chǎn)科運(yùn)用PDCA循環(huán)降低入室新生兒低血糖發(fā)生率品管圈成果匯報(bào)
評論
0/150
提交評論