数据库系统应用与开发实验七Word格式文档下载.docx
《数据库系统应用与开发实验七Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库系统应用与开发实验七Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
【实验结果与分析】
A、javabean类代码。
privateList<
BeanBook>
beanBook;
publicList<
getBeanBook(){
returnbeanBook;
}
publicvoidsetBeanBook(List<
beanBook){
this.beanBook=beanBook;
B、给出改造后ReaderManager类的方法代码。
List<
result1=newArrayList<
();
Stringsql1="
selecta.barcode,a.bookname,a.pubid,a.price,a.statefrombeanbooka,beanbooklendrecordbwhereb.readerid='
"
+rs.getString
(1)+"
'
andb.bookBarcode=a.barcodeandb.returnDateisnull"
;
java.sql.PreparedStatementpst1=conn.prepareStatement(sql1);
java.sql.ResultSetrs1=pst1.executeQuery();
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.privateObjecttblTitle[]={"
读者证号"
"
类别"
借阅限额"
状态"
未归还图书信息"
};
2.tblData=newObject[readers.size()][6];
3.List<
t2=readers.get(i).getBeanBook();
Stringimf="
if(t2!
=null)
for(intj=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;
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是为了记录总记录数
java.sql.PreparedStatementpst=conn.prepareStatement(sql);
java.sql.ResultSetrs=pst.executeQuery();
if(rs.next())
page.setTotalRecordCount(rs.getInt
(1));
//赋值总记录数
page.setPageCount(page.getTotalRecordCount()/page.getPagesize());
//赋值总页面数
List<
Stringsql1="
selecttop"
+page.getPagesize()+"
readerid,readerName,r.readerTypeId,r.lendBookLimitted,createDate,creatorUserId,stopDate,stopUserId,rt.readerTypeName"
fromBeanReaderr,BeanReaderTypertwherer.readerTypeId=rt.readerTypeId"
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))
and(readeridlike?
orreaderNamelike?
)"
sql1+="
orderbyreaderid"
java.sql.PreparedStatementpst1=conn.prepareStatement(sql1);
.equals(keyword)){
pst1.setString(1,"
%"
+keyword+"
);
pst1.setString(2,"
}
java.sql.ResultSetrs1=pst1.executeQuery();
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<
result2=newArrayList<
Stringsql2="
+rs1.getString
(1)+"
java.sql.PreparedStatementpst2=conn.prepareStatement(sql2);
java.sql.ResultSetrs2=pst2.executeQuery();
while(rs2.next())
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!
try{
conn.close();