数据库系统应用与开发实验二Word格式文档下载.docx
《数据库系统应用与开发实验二Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库系统应用与开发实验二Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
三、实验内容:
1、将booklib应用的JDBC驱动程序改成JDBC-ODBC驱动方式。
第一步:
设置ODBC数据源;
第二步:
修改DBUtil类中的相关代码;
第三步:
运行程序
【实验结果与分析】
A、说明需要修改DBUtil类的哪些地方,及修改原因?
privatestaticfinalStringjdbcUrl="
jdbc:
odbc:
cjeSQL"
;
因为booklib应用的驱动方式是jdbc-odbc驱动
2、利用Statement对象和Result对象实现按出版社名称精确查询出版社功能(精确查询是指查询的目标和查询条件中值完全相同的数据)。
在cn.edu.zucc.booklib.control.PublisherManager类中添加按出版社名称精确查询方法publicBeanPublisherloadPubByName(Stringname)throwsBaseException
编写上述方法,要求当相应名字的出版社不存在时,返回null值;
相关代码请参考提取所有出版社函数。
启动booklib主程序,在出版社管理中录入几个出版社
第四步:
清空cn.edu.zucc.booklib.control.PublisherManager类中的main函数现有内容
第五步:
在main函数中编写代码,通过调用上面实现的方法按出版社名字查询出版社,如果返回null,则在控制台输出“没有找到出版社”,否则输出出版社编号。
(注:
控制台输出通过System.out.println(…)函数实现,函数调用的方法参考现有main函数中的内容)。
要求main函数中调用两次上述函数,参数分别为一个确实存在的出版社,一个不存在的出版社。
第六步:
以javaapplication模式运行PublisherManager类,查看输出内容。
A、请给出查询函数的代码。
publicList<
BeanPublisher>
loadPubByName(Stringname)throwsBaseException{
List<
result=newArrayList<
();
Connectionconn=null;
try{
conn=DBUtil.getConnection();
Stringsql="
selectpubid,publisherName,addressfromBeanPublisherwherepublisherName='
name'
"
java.sql.Statementst=conn.createStatement();
java.sql.ResultSetrs=st.executeQuery(sql);
while(rs.next()){
BeanPublisherp=newBeanPublisher();
p.setPubid(rs.getString
(1));
p.setPublisherName(rs.getString
(2));
p.setAddress(rs.getString(3));
result.add(p);
}
}catch(SQLExceptione){
e.printStackTrace();
thrownewDbException(e);
}
finally{
if(conn!
=null)
try{
conn.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnresult;
}
}
B、说明如何通过JDBCAPI判断没有查询到指定名字的出版社。
Ø
传递一个Driver给DriverManager,加载数据库驱动(通知jvm将驱动程序相关的类加载到内存中)。
Class.forName()
通过URL得到一个Connection对象,建立数据库连接
DriverManager.getConnection(sDBUrl)
DriverManager.getConnection(sDBUrl,sDBUserID,sDBPassword)
然后创建一个Statement对象(PreparedStatement或CallableStatement),用来查询或者修改数据库。
Statementstmt=con.createStatement()
查询返回一个ResultSet。
ResultSetrs=stmt.executeQuery(sSQL
3、利用Statement对象和Result对象实现按出版社名称模糊查询出版社功能(模糊查询是指查询的目标包含输入的条件)。
在cn.edu.zucc.booklib.control.PublisherManager类中添加按出版社名称精确查询方法publicList<
searchPubsByName(Stringname)throwsBaseException
编写上述方法,相关代码请参考提取所有出版社函数。
在main函数中编写代码,通过调用上面实现的方法按出版社名字模糊查询出版社,并输出查询到的出版社信息。
selectpubid,publisherName,addressfromBeanPublisherwherepublisherNamelike'
%"
+name+"
%'
}
B、比较精确查询和模糊查询方法,说明在SQL语句中的主要区别。
精确查询必须是完全匹配才会输出,模糊只需部分匹配即可。
感谢下载!
欢迎您的下载,资料仅供参考