实验三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<BeanReader>
searchReader(String keyword,int readerTypeId)throws BaseException。
编写新方法
public List<BeanReader> searchReader(String keyword,String readerTypeName)throws BaseException。
即把条件中的读者类别ID改成读者类别名称。
【实验结果与分析】
A、修改后的sql语句部分是。
public List<BeanReader> searchReader(String keyword,String readerTypeName)throws BaseException{
List<BeanReader> result=new ArrayList<BeanReader>();
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;
}。