大数据库系统应用与开发--实验二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二JDBC基础(1)
一、相关知识点
1、JDBC基本概念
2、java连接数据库的方式
3、JDBC简单查询
二、实验目的:
理解Java连接数据库的基本概念。理解JDBC的四种驱动程序,掌握纯java驱动和jdbc-odbc驱动。理解Statement对象和ResultSet对象。
三、实验内容:
1、将booklib应用的JDBC驱动程序改成JDBC-ODBC驱动方式。
第一步:设置ODBC数据源;
第二步:修改DBUtil类中的相关代码;
第三步:运行程序
【实验结果与分析】
A、说明需要修改DBUtil类的哪些地方,及修改原因?
private static final String jdbcUrl="jdbc:odbc:cjeSQL";
因为booklib应用的驱动方式是jdbc-odbc驱动
2、利用Statement对象和Result对象实现按出版社名称精确查询出版社功能(精确查
询是指查询的目标和查询条件中值完全相同的数据)。
第一步:在.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法public BeanPublisher loadPubByName(String name)throws BaseException 第二步:编写上述方法,要求当相应名字的出版社不存在时,返回null值;相关代码请参考提取所有出版社函数。
第三步:启动booklib主程序,在出版社管理中录入几个出版社
第四步:清空.zucc.booklib.control. PublisherManager类中的main函数现有内
容
第五步:在main函数中编写代码,通过调用上面实现的方法按出版社名字查询出版社,如果返回null,则在控制台输出“没有找到出版社”,否则输出出版社编号。(注:控制台输出通过System.out.println(…)函数实现,函数调用的方法参考现有main函数中的内容)。要求main函数中调用两次上述函数,参数分别为一个确实存在的出版社,一个不存在的出版社。
第六步:以java application模式运行PublisherManager类,查看输出内容。
【实验结果与分析】
A、请给出查询函数的代码。
public List
List
Connection conn=null;
try {
conn=DBUtil.getConnection();
String sql="select pubid,publisherName,address from BeanPublisher where publisherName = 'name'";
java.sql.Statement st=conn.createStatement();
java.sql.ResultSet rs=st.executeQuery(sql);
while(rs.next()){
BeanPublisher p=new BeanPublisher();
p.setPubid(rs.getString(1));
p.setPublisherName(rs.getString(2));
p.setAddress(rs.getString(3));
result.add(p);
}
} 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;
}
}
B、说明如何通过JDBC API判断没有查询到指定名字的出版社。
➢传递一个Driver给DriverManager,加载数据库驱动(通知jvm将驱动程序相关的类加载到内存中)。
Class.forName()
➢通过URL得到一个Connection对象, 建立数据库连接
DriverManager.getConnection(sDBUrl)
DriverManager.getConnection(sDBUrl,sDBUserID,sDBPassword)
➢然后创建一个Statement对象(PreparedStatement或CallableStatement),用来查询或者修改数据库。
Statement stmt=con.createStatement()
➢查询返回一个ResultSet。
ResultSet rs=stmt.executeQuery(sSQL
3、利用Statement对象和Result对象实现按出版社名称模糊查询出版社功能(模糊查
询是指查询的目标包含输入的条件)。
第一步:在.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法public List
第二步:编写上述方法,相关代码请参考提取所有出版社函数。
第三步:清空.zucc.booklib.control. PublisherManager类中的main函数现有内容
第四步:在main函数中编写代码,通过调用上面实现的方法按出版社名字模糊查询出版社,并输出查询到的出版社信息。
第六步:以java application模式运行PublisherManager类,查看输出内容。
【实验结果与分析】
A、请给出查询函数的代码。
public List
List
Connection conn=null;