欢迎来到天天文库
浏览记录
ID:47517916
大小:301.50 KB
页数:8页
时间:2020-01-12
《数据库系统应用与开发--实验二》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验二JDBC基础(1)一、相关知识点1、JDBC基本概念2、java连接数据库的方式3、JDBC简单查询二、实验目的:理解Java连接数据库的基本概念。理解JDBC的四种驱动程序,掌握纯java驱动和jdbc-odbc驱动。理解Statement对象和ResultSet对象。三、实验内容:1、将booklib应用的JDBC驱动程序改成JDBC-ODBC驱动方式。第一步:设置ODBC数据源;第二步:修改DBUtil类中的相关代码;第三步:运行程序【实验结果与分析】A、说明需要修改DBUtil类的哪些地方
2、,及修改原因?privatestaticfinalStringjdbcUrl="jdbc:odbc:cjeSQL";因为booklib应用的驱动方式是jdbc-odbc驱动1、利用Statement对象和Result对象实现按出版社名称精确查询出版社功能(精确查询是指查询的目标和查询条件中值完全相同的数据)。第一步:在cn.edu.zucc.booklib.control.PublisherManager类中添加按出版社名称精确查询方法publicBeanPublisherloadPubByName(S
3、tringname)throwsBaseException第二步:编写上述方法,要求当相应名字的出版社不存在时,返回null值;相关代码请参考提取所有出版社函数。第三步:启动booklib主程序,在出版社管理中录入几个出版社第四步:清空cn.edu.zucc.booklib.control.PublisherManager类中的main函数现有内容第五步:在main函数中编写代码,通过调用上面实现的方法按出版社名字查询出版社,如果返回null,则在控制台输出“没有找到出版社”,否则输出出版社编号。(注:
4、控制台输出通过System.out.println(…)函数实现,函数调用的方法参考现有main函数中的内容)。要求main函数中调用两次上述函数,参数分别为一个确实存在的出版社,一个不存在的出版社。第六步:以javaapplication模式运行PublisherManager类,查看输出内容。【实验结果与分析】A、请给出查询函数的代码。publicListloadPubByName(Stringname)throwsBaseException{List5、isher>result=newArrayList();Connectionconn=null;try{conn=DBUtil.getConnection();Stringsql="selectpubid,publisherName,addressfromBeanPublisherwherepublisherName='name'";java.sql.Statementst=conn.createStatement();java.sql.ResultSetrs=st.exe6、cuteQuery(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(co7、nn!=null)try{conn.close();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}returnresult;}}A、说明如何通过JDBCAPI判断没有查询到指定名字的出版社。Ø传递一个Driver给DriverManager,加载数据库驱动(通知jvm将驱动程序相关的类加载到内存中)。Class.forName()Ø通过URL得到一个Connection对象,建立数据库连接DriverM8、anager.getConnection(sDBUrl)DriverManager.getConnection(sDBUrl,sDBUserID,sDBPassword)Ø然后创建一个Statement对象(PreparedStatement或CallableStatement),用来查询或者修改数据库。Statementstmt=con.createStatement()Ø查询返回一个ResultSet。ResultSetrs=stmt.
5、isher>result=newArrayList();Connectionconn=null;try{conn=DBUtil.getConnection();Stringsql="selectpubid,publisherName,addressfromBeanPublisherwherepublisherName='name'";java.sql.Statementst=conn.createStatement();java.sql.ResultSetrs=st.exe
6、cuteQuery(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(co
7、nn!=null)try{conn.close();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}returnresult;}}A、说明如何通过JDBCAPI判断没有查询到指定名字的出版社。Ø传递一个Driver给DriverManager,加载数据库驱动(通知jvm将驱动程序相关的类加载到内存中)。Class.forName()Ø通过URL得到一个Connection对象,建立数据库连接DriverM
8、anager.getConnection(sDBUrl)DriverManager.getConnection(sDBUrl,sDBUserID,sDBPassword)Ø然后创建一个Statement对象(PreparedStatement或CallableStatement),用来查询或者修改数据库。Statementstmt=con.createStatement()Ø查询返回一个ResultSet。ResultSetrs=stmt.
此文档下载收益归作者所有