收藏 分销(赏)

数据库系统应用与开发--实验二.doc

上传人:a199****6536 文档编号:3902653 上传时间:2024-07-23 格式:DOC 页数:9 大小:288.50KB 下载积分:6 金币
下载 相关 举报
数据库系统应用与开发--实验二.doc_第1页
第1页 / 共9页
数据库系统应用与开发--实验二.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
实验二 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对象实现按出版社名称精确查询出版社功能(精确查询是指查询的目标和查询条件中值完全相同的数据)。 第一步:在cn.edu.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法 public BeanPublisher loadPubByName(String name)throws BaseException 第二步:编写上述方法,要求当相应名字的出版社不存在时,返回null值;相关代码请参考提取所有出版社函数。 第三步:启动booklib主程序,在出版社管理中录入几个出版社 第四步:清空cn.edu.zucc.booklib.control. PublisherManager类中的main函数现有内容 第五步:在main函数中编写代码,通过调用上面实现的方法按出版社名字查询出版社,如果返回null,则在控制台输出“没有找到出版社”,否则输出出版社编号。(注:控制台输出通过System.out.println(…)函数实现,函数调用的方法参考现有main函数中的内容)。要求main函数中调用两次上述函数,参数分别为一个确实存在的出版社,一个不存在的出版社。 第六步:以java application模式运行PublisherManager类,查看输出内容。 【实验结果与分析】 A、 请给出查询函数的代码。 public List<BeanPublisher> loadPubByName(String name)throws BaseException{ List<BeanPublisher> result=new ArrayList<BeanPublisher>(); 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对象实现按出版社名称模糊查询出版社功能(模糊查询是指查询的目标包含输入的条件)。 第一步:在cn.edu.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法 public List<BeanPublisher> searchPubsByName(String name)throws BaseException 第二步:编写上述方法,相关代码请参考提取所有出版社函数。 第三步:清空cn.edu.zucc.booklib.control. PublisherManager类中的main函数现有内容 第四步:在main函数中编写代码,通过调用上面实现的方法按出版社名字模糊查询出版社,并输出查询到的出版社信息。 第六步:以java application模式运行PublisherManager类,查看输出内容。 【实验结果与分析】 A、 请给出查询函数的代码。 public List<BeanPublisher> loadPubByName(String name)throws BaseException{ List<BeanPublisher> result=new ArrayList<BeanPublisher>(); Connection conn=null; try { conn=DBUtil.getConnection(); String sql="select pubid,publisherName,address from BeanPublisher where publisherName like '%"+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、 比较精确查询和模糊查询方法,说明在SQL语句中的主要区别。 精确查询必须是完全匹配才会输出,模糊只需部分匹配即可。 THANKS !!! 致力为企业和个人提供合同协议,策划案计划书,学习课件等等 打造全网一站式需求 欢迎您的下载,资料仅供参考
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服