数据库应用与开发实验6里有下载地址Word格式文档下载.docx

上传人:b****8 文档编号:22576555 上传时间:2023-02-04 格式:DOCX 页数:14 大小:578.36KB
下载 相关 举报
数据库应用与开发实验6里有下载地址Word格式文档下载.docx_第1页
第1页 / 共14页
数据库应用与开发实验6里有下载地址Word格式文档下载.docx_第2页
第2页 / 共14页
数据库应用与开发实验6里有下载地址Word格式文档下载.docx_第3页
第3页 / 共14页
数据库应用与开发实验6里有下载地址Word格式文档下载.docx_第4页
第4页 / 共14页
数据库应用与开发实验6里有下载地址Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数据库应用与开发实验6里有下载地址Word格式文档下载.docx

《数据库应用与开发实验6里有下载地址Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库应用与开发实验6里有下载地址Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

数据库应用与开发实验6里有下载地址Word格式文档下载.docx

运行图书管理系统,进行各个功能的测试(读者类别管理、读者管理)

【实验结果与分析】

A、写出视图创建代码。

createviewview_readeras

selectreaderid,readerName,r.readerTypeId,r.lendBookLimitted,createDate,creatorUserId,stopDate,stopUserId,rt.readerTypeName,r.removeDate

fromBeanReaderr,BeanReaderTypertwherer.readerTypeId=rt.readerTypeId

 

B、给出改造后ReaderManager类的各个方法的代码。

Stringsql="

select*"

+

"

fromview_readerwhereremoveDateisnull"

andremoveDateisnull"

;

fromview_readerwherereaderid=?

"

2、设计图书视图view_book,并修改BookManager类中相关代码。

通过查询分析器建立图书视图,要求视图中包含出版社名称;

改造BookManager类,将其中的连接查询用视图代替。

运行图书管理系统,进行各个功能的测试

createviewview_book

as

selectb.barcode,b.bookname,b.pubid,b.price,b.state,p.publishername

frombeanbookb,beanpublisherpwhereb.pubid=p.pubid

publicclassBookManager{

publicList<

BeanBook>

searchBook(Stringkeyword,StringbookState)throwsBaseException{

List<

result=newArrayList<

();

Connectionconn=null;

try{

conn=DBUtil.getConnection();

//改动处

Stringsql="

"

fromview_bookwherestate='

+bookState+"

'

"

//

if(keyword!

=null&

&

!

.equals(keyword))

sql+="

and(b.booknamelike?

orb.barcodelike?

)"

sql+="

orderbyb.barcode"

java.sql.PreparedStatementpst=conn.prepareStatement(sql);

.equals(keyword)){

pst.setString(1,"

%"

+keyword+"

);

pst.setString(2,"

}

java.sql.ResultSetrs=pst.executeQuery();

while(rs.next()){

BeanBookb=newBeanBook();

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(SQLExceptione){

e.printStackTrace();

thrownewDbException(e);

}

finally{

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

returnresult;

}

publicBeanBookloadBook(Stringbarcode)throwsDbException{

//改动处

fromview_bookwherebarcode=?

pst.setString(1,barcode);

if(rs.next()){

returnb;

returnnull;

3、设计读者借阅情况统计视图view_reader_static,并在BookLendManager类中添加根据读者ID提取其借阅数量的代码。

通过查询分析器建立读者统计视图,要求视图中包含读者ID、读者姓名、借阅数量;

在BookLendManager中添加方法publicintloadReaderLendCount(Stringreaderid)throwsDbException。

并编写其代码

在BookLendManager类中添加main函数,并编写上述方法的测试代码。

进行功能的测试

createviewview_reader_static

selectr.readerid,r.readerName,count(*)AS借阅数量fromBeanReaderr,BeanBookLendRecordrc

wherer.readerid=rc.readeridgroupbyr.readerid,r.readerName

B、给出改造后BookLendManager类的各个方法的代码。

publicstaticintloadReaderLendCount(Stringreaderid)throwsDbException{

inta=0;

select*fromview_reader_staticwherereaderid=?

pst.setString(1,readerid);

a=rs.getInt(3);

returna;

4、索引实验:

完成IndexTest_initData类中的代码,并测试。

完成IndexTest类中的代码,并测试,记录执行结果

通过查询分析器,在BeanBookLendRecord表的readerid上建立索引

第四步:

再次执行IndexTest类,记录执行结果

A、给出两个类的代码和索引建立的代码

B、比较IndexTest类两次执行的结果,并说明索引的作用。

并思考:

如果我们需要经常查询某用户近期借阅的n本图书,请问,应该如何建立索引?

【提示:

多列索引】

5、批量处理:

在PublisherManager中,增加方法

publicvoidcreate1000Publisher1()throwsBaseException

用pareparedStatement添加1000个出版社。

publicvoidcreate1000Publisher2()throwsBaseException

用pareparedStatement,以及批量处理的方式添加1000个出版社。

在PublisherManager的main函数中分别依次调用这两个方法,并输出两个方法的耗时。

(耗时计算,请参考讲义中的批量处理例子)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1