![数据库系统应用与开发-实验七资料讲解_第1页](http://file4.renrendoc.com/view/e2bc37696dce6533844ec38d360ddfc0/e2bc37696dce6533844ec38d360ddfc01.gif)
![数据库系统应用与开发-实验七资料讲解_第2页](http://file4.renrendoc.com/view/e2bc37696dce6533844ec38d360ddfc0/e2bc37696dce6533844ec38d360ddfc02.gif)
![数据库系统应用与开发-实验七资料讲解_第3页](http://file4.renrendoc.com/view/e2bc37696dce6533844ec38d360ddfc0/e2bc37696dce6533844ec38d360ddfc03.gif)
![数据库系统应用与开发-实验七资料讲解_第4页](http://file4.renrendoc.com/view/e2bc37696dce6533844ec38d360ddfc0/e2bc37696dce6533844ec38d360ddfc04.gif)
![数据库系统应用与开发-实验七资料讲解_第5页](http://file4.renrendoc.com/view/e2bc37696dce6533844ec38d360ddfc0/e2bc37696dce6533844ec38d360ddfc05.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统应用与开发--实验七精品文档实验 JDBC进阶(3)一、相关知识点1、JDBC基本概念2、主从关系,分页查询二、实验目的:理解分页查询的概念和处理方法三、实验内容:数据准备:用上次实验中的方法,生成 1000个读者和图书;1、改造读者模块,在提取读者的同时,提取其未归还的图书信息第一步:通过程序增加一些借阅纪录第二步:改造读者 javabean,使之包括借阅的图书信息第三步:改造读者提取方法,同时提取未归还图书;第四步:修改图书借阅 ui类并进行测试【实验结果与分析】A、 javabean类代码。private List<BeanBook> beanBook ;public List<BeanBook>getBeanBook(){return beanBook ;}public void setBeanBook(List<BeanBook>beanBook){this .beanBook =beanBook;}收集于网络,如有侵权请联系管理员删除精品文档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);收集于网络,如有侵权请联系管理员删除精品文档在图书管理系统借几本书修改ui类的地方:1.private Object tblTitle []={ "读者证号","姓名","类别","借阅限额,"状态","未归还图书信息"};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()+收集于网络,如有侵权请联系管理员删除精品文档" 产商id:" +t2.get(j).getPubid()+ " 价格"+t2.get(j).getPrice()+ " 状况:"+t2.get(j).getState();}}tblData [i][5]=imf;测试:收集于网络,如有侵权请联系管理员删除精品文档2、改造读者管理模块,将读者列表页面改造成分页查询方式。第一步:第二步:自行设计 PageData类,用于存放分页数据第三步:改造ReaderManager类,将其中的查询读者方法改造成分页查询。第四步:修改ui类,增加上一页、下一页按钮,实现读者的分页查询,要求每页20人【实验结果与分析】A.PageData类代码。publicclassPageData{privateinttotalRecordCount;privateintpageCount;privateintpagesize;privateintpageRecordCount;privateList<BeanReader>beanReader;用set与get创建方法收集于网络,如有侵权请联系管理员删除精品文档B.给出改造后ReaderManager类的方法代码。publicPageDatasearchReaderPage(Stringkeyword,intreaderTypeId,PageDatapage)throwsBaseException{//加一个page类Connectionconn=null;try{conn=DBUtil.getConnection();Stringsql="selectcount(*)fromBeanReaderr,BeanReaderTypertwherer.readerTypeId=rt.readerTypeId"+"andremoveDateisnull"; //这个sql是为了记录总记录数if(rs.next())page.setTotalRecordCount(rs.getInt(1)); //赋值总记录数page.setPageCount(page.getTotalRecordCount()/page.getPagesize()); //赋值总页面数List<BeanReader>result1=newArrayList<BeanReader>();收集于网络,如有侵权请联系管理员删除精品文档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);收集于网络,如有侵权请联系管理员删除精品文档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类中的修改部分(注:生成表格的方法需做微调)1.首先增加2个按钮即上一页,和下一页需要修改3个地方第一个是:privateButtonprevious=newButton("上一页");privateButtonnext=newButton("下一页");如图:收集于网络,如有侵权请联系管理员删除精品文档第二个是:toolBar.add(previous);toolBar.add(next);如图:第三个是:增加监听器this.previous.addActionListener(this);this.next.addActionListener(this);收集于网络,如有侵权请联系管理员删除精品文档2.对page类的一些值进行复制{page.setPageRecordCount(1);//初始化当前的数是第一页page.setPagesize(20);//以20个记录为一页}注意一定要加中括号 不然会冒错我也不知道为什么如图:收集于网络,如有侵权请联系管理员删除精品文档有些值在ReaderManager类的searchReaderPage方法中已经赋值了如图: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个形参不行 我也不是很懂收集于网络,如有侵权请联系管理员删除精品文档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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏科版版数学七年级上册听评课记录《2-7 有理数的乘方》第1课时
- 人教部编版八年级道德与法治上册:8.2《坚持国家利益至上》听课评课记录3
- 苏科版九年级数学听评课记录:第27讲 切线性质定理的应用
- 用工合同范本(2篇)
- 生态环境融资协议书(2篇)
- 环境友好化学品研发合同(2篇)
- 一年级下雪啦听评课记录
- 六年级数学上听评课记录
- 人教版数学八年级下册《构建知识体系》听评课记录2
- 中图版地理七年级上册1.3《地图》听课评课记录
- 2025年大庆职业学院高职单招语文2018-2024历年参考题库频考点含答案解析
- 2025年中国南方航空股份有限公司招聘笔试参考题库含答案解析
- 商务部发布《中国再生资源回收行业发展报告(2024)》
- 山东省济南市2024-2024学年高三上学期1月期末考试 地理 含答案
- 2025年福建新华发行(集团)限责任公司校园招聘高频重点提升(共500题)附带答案详解
- 【课件】液体的压强(课件)-2024-2025学年人教版物理八年级下册
- 实施弹性退休制度暂行办法解读课件
- 冷冻食品配送售后服务体系方案
- 江苏省驾校考试科目一考试题库
- 四川省成都市青羊区成都市石室联合中学2023-2024学年七上期末数学试题(解析版)
- 2024-2030年中国自动光学检测仪(AOI)市场竞争格局与前景发展策略分析报告
评论
0/150
提交评论