数据库系统应用与开发--实验三
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三JDBC基础(2)
一、相关知识点
1、JDBC基本概念
2、JDBC简单查询、preparedstatement、连接查询、集函数查询等
Odbc:
Jdbc:
二、实验目的:
理解Java连接数据库的基本概念。理解Statement对象、PreparedStatement对象和ResultSet对象。
三、实验内容:
1、游标滚动模式试验。
第一步:将RsTest类放入对应的工程包中.zucc.booklib.rstest;
第二步:在BeanSystemUser表中增加一些测试数据;
第三步:运行程序,并查看执行结果。
第四步:将游标滚动模式改成TYPE_SCROLL_SENSITIVE,运行程序,并查看结果
【实验结果与分析】
A、第三步、第四步运行结果截图?并说明区别。
第三步:
第四步:修改前
第四步:修改后
B、
2、利用ResultSet对象进行数据修改
第一步:将RsTest2类放入对应的工程包中.zucc.booklib.rstest;
第二步:运行程序,并查看执行结果。
第三步:删除rs.updateRow(); 允许程序,并查看执行结果
【实验结果与分析】
A、请给出第二步、第三步的执行截图。说明区别,并分析原因。
第二步:
第三步:
3、利用PreparedStatement对象修改实验二的两个对出版社的查询。
第一步:在实验二的基础上,把传入的查询条件(出版社名称)改成带单引号的字符串,并运行程序。查看执行结果。
第二步:将原来的查询函数,改成用PreparedStatement。运行程序,查看执行结果。通用把传入的查询条件(出版社名称)改成带单引号的字符串,并运行程序。查看执行结果。
【实验结果与分析】
A、第一步执行结果截图。
B、第二步执行结果截图。比较两种方式的区别。
4、连接查询,模仿ReaderManager类中的方法:public List
searchReader(String keyword,int readerTypeId)throws BaseException。编写新方法
public List
【实验结果与分析】
A、修改后的sql语句部分是。
public List
List
Connection conn=null;
try {
conn=DBUtil.getConnection();
String sql="select
readerid,readerName,r.readerTypeId,r.lendBookLimitted,createDate,crea torUserId,stopDate,stopUserId,rt.readerTypeName" +
" from BeanReader r,BeanReaderType rt where r.readerTypeId=rt.readerTypeId" +
" and removeDate is null ";
//if(readerTypeId>0) sql+=" and
r.readerTypeId="+readerTypeId;
if(keyword!=null && !"".equals(keyword))
sql+=" and (readerid like ? or readerName like ?)";
if(readerTypeName!=null
&& !"".equals(readerTypeName))
sql+=" and r.readerTypeId="+readerTypeName;
sql+=" order by readerid";
java.sql.PreparedStatement
pst=conn.prepareStatement(sql);
if(keyword!=null && !"".equals(keyword)){
pst.setString(1, "%"+keyword+"%");
pst.setString(2, "%"+keyword+"%");
pst.setString(3, "%"+readerTypeName+"%");
}
java.sql.ResultSet rs=pst.executeQuery();
while(rs.next()){
BeanReader r=new BeanReader();
r.setReaderid(rs.getString(1));
r.setReaderName(rs.getString(2));
r.setReaderTypeId(rs.getInt(3));
r.setLendBookLimitted(rs.getInt(4));
r.setCreateDate(rs.getDate(5));
r.setCreatorUserId(rs.getString(6));
r.setStopDate(rs.getDate(7));
r.setStopUserId(rs.getString(8));
r.setReaderTypeName(rs.getString(9));
result.add(r);
}
} catch (SQLException e) {
e.printStackTrace();
throw new DbException(e);
}
finally{
if(conn!=null)
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return result;
}