1、运行图书管理系统,进行各个功能的测试(读者类别管理、读者管理)【实验结果与分析】A、 写出视图创建代码。create view view_reader asselect readerid,readerName,r.readerTypeId,r.lendBookLimitted,createDate,creatorUserId,stopDate,stopUserId,rt.readerTypeName,r.removeDate from BeanReader r,BeanReaderType rt where r.readerTypeId=rt.readerTypeIdB、 给出改造后Reade
2、rManager类的各个方法的代码。String sql=select * + from view_reader where removeDate is null and removeDate is null ; from view_reader where readerid=?2、 设计图书视图view_book,并修改BookManager类中相关代码。通过查询分析器建立图书视图,要求视图中包含出版社名称;改造BookManager类,将其中的连接查询用视图代替。运行图书管理系统,进行各个功能的测试create view view_bookasselect b.barcode,b.book
3、name,b.pubid,b.price,b.state,p.publishername from beanbook b,beanpublisher p where b.pubid=p.pubidpublic class BookManager public List searchBook(String keyword,String bookState)throws BaseException List result=new ArrayList(); Connection conn=null; try conn=DBUtil.getConnection(); /改动处 String sql=
4、from view_book where state=+bookState+ / if(keyword!=null & !.equals(keyword) sql+= and (b.bookname like ? or b.barcode like ?) sql+= order by b.barcode java.sql.PreparedStatement pst=conn.prepareStatement(sql);.equals(keyword) pst.setString(1, %+keyword+); pst.setString(2, java.sql.ResultSet rs=pst
5、.executeQuery(); while(rs.next() BeanBook b=new BeanBook(); b.setBarcode(rs.getString(1); b.setBookname(rs.getString(2); b.setPubid(rs.getString(3); b.setPrice(rs.getDouble(4); b.setState(rs.getString(5); b.setPubName(rs.getString(6); result.add(b); catch (SQLException e) e.printStackTrace(); throw
6、new DbException(e); finally if(conn!=null) try conn.close(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); return result; public BeanBook loadBook(String barcode) throws DbException /改动处 from view_book where barcode=? pst.setString(1,barcode); if(rs.next() return b; r
7、eturn null;3、 设计读者借阅情况统计视图view_reader_static,并在BookLendManager类中添加根据读者ID提取其借阅数量的代码。通过查询分析器建立读者统计视图,要求视图中包含读者ID、读者姓名、借阅数量;在BookLendManager中添加方法 public int loadReaderLendCount(String readerid) throws DbException。并编写其代码在BookLendManager类中添加main函数,并编写上述方法的测试代码。进行功能的测试create view view_reader_staticselect
8、r.readerid,r.readerName,count(*) AS借阅数量 from BeanReader r,BeanBookLendRecord rcwhere r.readerid=rc.readerid group by r.readerid,r.readerNameB、 给出改造后BookLendManager类的各个方法的代码。public static int loadReaderLendCount(String readerid) throws DbException int a=0;select * from view_reader_static where readerid=? pst.setString(1, readerid); a=rs.getInt(3); return a;4、 索引实验:完成IndexTest_initData类中的代码,并测试。完成IndexTest类中的代码,并测试,记录执行结果通过查询分析器,在BeanBookLendRecord表的readerid上建立索引第四步:再次执行IndexTest类,记录执行结果A、 给出两个类的代码和索引建立的代码B、 比较IndexTest类两次执行的结果,并说明索引的作用。并思考:如果我们需要经常查询某用户近期借阅的n本图书,请问,应该如何建立索引?【提示:多列索引】C、
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1