




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广州中医药大学信息技术学院实 验 报 告课程名称:网络数据库编程专业班级:计算机科学与技术(08)级学生学号:2008081013学生姓名:张健华实验名称:使用JDBC实现数据库连接实验成绩:课程类别:必修 限选 公选 其它实验二 使用JDBC实现数据库连接实验类型:应用性实验 实验日期: 3-23 实验目的要求通过教学,使学生掌握使用JDBC连接到数据库的方法(如通过JDBC-ODBC桥或Pure Java Driver),能使用网页表单实现网页与数据库的交互。实验内容及步骤1、 在数据库SQL SERVER中创建一个数据库JDBCTEST,并创建表student_info,并设定字段,输入内容。2、 使用JDBC-ODBC实现数据库连接a) 打开“控制面板”的“管理工具” 的“数据源 (ODBC)”b) 建立数据源c) 选“系统数据源”,连接SQL SERVER数据库d) 测试是否连接成功e) 通过以下类Class、DriverManager、Connection(连接数据库用到的类),及Statement、ResultSet(访问数据库用到的类)编写代码实现表student_info数据的查询。f) 查询结果在页面中显示。3、 使用Pure Java Driver实现数据库连接a) 安装sql-jdbc,如装在D盘b) 设置环境变量classpath,添加D:sqljdbcmsbase.jar; D:sqljdbcmsutil.jar; D:sqljdbcmssqlserver.jar;c) 设SQL SERVER数据库用Windows和数据库混合身分验证的方式。d) 通过以下类Class、DriverManager、Connection(连接数据库用到的类),及Statement、ResultSet(访问数据库用到的类)编写代码实现表student_info数据的查询。e) 查询结果在页面中显示。4、 通过表单传递数据,实现数据库的插入、删除与更新操作,并显示插入结果。5、 熟悉JSP中各种常用的内建对象如request对象、session对象、application对象的使用。6、 熟悉各种表单的处理的方法:如选择按钮的使用、多选方块的使用、群组检查的使用、隐藏栏位的使用、在客户端进行数据检查7、 试利用上述知识实现一个留言板系统。以下需要同学们贴上第7题经调试好代码:数据库对应的表1数据库对应的表2.。代码1文件(*.HTM)内容: 姓名: 标题: 留言: 代码2文件(*.JSP)内容:jsp数据库操作 database % /String url = jdbc:microsoft:sqlserver:/tan:1433;DatabaseName=JDBCTEST;String url=jdbc:odbc:jdbctest;String user =sa;/这里替换成你自已的数据库用户名String password = ;/这里替换成你自已的数据库用户密码String sqlStr = select * from liuyan;try /这里的异常处理语句是必需的.否则不能通过编译! / Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);out.println( sun.jdbc.odbc.JdbcOdbcDriver类实例化成功! );Connection con = DriverManager.getConnection( url, user, password );/out.println( 创建连接对像成功! );Statement st = con.createStatement();/out.println( 创建Statement成功! );ResultSet rs = st.executeQuery( sqlStr );out.println( 操作数据表成功! );out.println( -! );out.println();while (rs.next()String col1 = rs.getString(peoname);String col2 = rs.getString(title);String col3=rs.getString(message);/打印所显示的数据out.print(+col1+col2+col3+);out.print(); rs.close(); st.close(); con.close(); catch(Exception err) err.printStackTrace(); %。(以下为理论知识题)8、JDBC的全称是什么,在JAVA的哪个包下?全称为Java DataBase Connectivity standard,在java.sql里9、JDBC连接数据库用到的类有哪些?连接数据库用到的类有Class/指定数据库驱动程序DriverManager/驱动程序管理Connection/数据库连接10、比较JDBC数据库连接的JDBC-ODBC桥及Pure Java Driver方式的优缺点(1)JDBC-ODBC Bridge plus ODBC Driver优点:可以沿用旧系统的设置缺点:设置ODBC连接繁琐,在JDBC与ODBC中数据传递及转换上需要一定的时间(2)Pure Java Driver for Database Middleware优点:不用在用户端做任何的设置或安装一些函数库,只需连接中间层服务器缺点:连接受中间层服务器影响11、Statement与PreparedStatement的作用与区别?写一个程序实例如何用PreparedStatement实现批处理? (将100条记录插入预先设定好的数据库中)1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得, preparedstatement支持批处理public void exec3(Connection conn) try conn.setAutoCommit(false); Long beginTime = System.currentTimeMillis(); PreparedStatement pst = conn.prepareStatement(insert into t1(id) values (?); for(int i=1;i=100;i+) pst.setInt(1, i); pst.addBatch(); if(i%50=0) pst.executeBatch(); mit(); pst.clearBatch(); pst.executeBatch(); Long endTime = System.currentTimeMillis(); System.out.println(pst+batch用时:+(endTime-beginTime)+毫秒); pst.close(); conn.close(); catch (SQLException e) e.printStackTrace(); 12、Statement接口提供了三种执行SQL语句的方法,它们分别是什么? executeQuery、executeUpdate和execute13、在SQL中定义事务的语句有哪些?如何实现JDBC对数据库的事务操作,请举例说明?BEGIN TRANSACTION 事务名 /*标记一个显式本地事务的起始点*/COMMIT TRAN 事务名 /*提交事务*/ROLLBACK TRAN 事务名 /*回滚事务*/Connection con = null;try ds = (DataSource)myContext.lookup(jdbc/oracleServer);pooledCon = ds.getConnection(scott, tiger);pooledCon.setAutoCommit(false);pooledCon.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);/ .pooledCmit(); catch (Exception ignored) try pooledCon.rollback(); catch (SQLException ig) finally if(pooledCon != null) pooledCon.setAutoCommit(true);pooledCon.close();14、自行在网上搜索资料,举例说明如何用程序实现分布式事务?(必要时可以用图片辅助文字说明)在java中有如下三种事务, 简单的JDBC级的事务 JTA - 在EJB环境下,用户得到事务并进行控制 CMP - 完全由容器控制事务,用户通过Bean配置文件来定义事务行为二三种都支持分布式事务,但只支持Java环境下的分布式事务。下面讨论如何在Java程序里实现分布式事务,即在同一个事务里访问多个数据源。实际上就是如何使用JTA.这里假设使用Oracle数据库,使用WebLogic部署应用,所要做的是如下几步:1. 配置1.1 确认数据库支持分布式事务 - oracle是支持分布式事务的,JDBC驱动也支持分布式事务1.2 在WebLogic里配置DataSource1.2.1. 配置连接池,注意这里应该选择驱动是Thin XA而不是Thin1.2.2. 配置数据源,使用前面配好的XA的连接池2. 程序实现2.1. 实现自己的Xidimport javax.transaction.xa.*;public class MyXid implements Xidprotected int formatId;protected byte gtrid;protected byte bqual;public MyXid()public MyXid(int formatId, byte gtrid, byte bqual)this.formatId = formatId;this.gtrid = gtrid;this.bqual = bqual;public int getFormatId()return formatId;public byte getBranchQualifier()return bqual;public byte getGlobalTransactionId()return gtrid;2.2. 通过JNDI找到WebLogic中配置好的数据源public XADataSource getXADataSource()throws ExceptionInitialContext ctx = new InitialContext( mgr.getProps();XADataSource ds = (XADataSource)ctx.lookup(jdbc/xaDS);return ds;2.3. 使用XADataSource得到XAConnection,使用XAConnection得到XAResource,基于XAResource进行具体数据访问。如果我们这里lookup多个XADataSource,然后得到多个XAResource,就可以实现多数据源的事务控制。XADataSource xaDS;XAConnection xaCon;XAResource xaRes;Xid xid;Connection con;Statement stmt;int ret;xaDS = getXADataSource();xaCon = xaDS.getXAConnection();xaRes = xaCon.getXAResource();con = xaCon.getConnection();stmt = con.createStatement();xid = new MyXid(100, new byte0x01, new byte0x02);try xaRes.start(xid, XAResource.TMNOFLAGS);stmt.executeUpdate(insert into test_table values (100);xaRes.end(xid, XAResource.TMSUCCESS);ret = xaRes.prepare(xid);if (ret = XAResource.XA_OK) xaRmit(xid, false)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年山东华兴机械集团有限责任公司人员招聘笔试备考题库(含答案详解)
- 2024年滨州新能源集团有限责任公司及权属公司公开招聘工作人员递补笔试备考题库附答案详解(典型题)
- 2025年黑龙江省五常市辅警招聘考试试题题库及答案详解(易错题)
- 2024年湖南医师定期考核模拟试卷-临床医学1000题
- (福建高考卷自主命题6科)2023年福建省普通高中学业水平选择性考试高考物化生+政史地真题试卷及答案
- 2024年消防条令纲要知识考试题库及参考答案
- QCC质量工具培训
- Brand KPIs for online betting:Action Network in the United States-英文培训课件2025.5
- 低空经济在应急管理的典型应用与案例解析方案
- 四川西昌青山机场油库增容项目环评报告
- 空间解析几何教案
- 2022年商务标技术标最全投标文件模板
- TFDS系统介绍(济南)
- 滚子链链轮的基本参数和主要尺寸
- 青海省基本医疗保险门诊特殊病慢性病病种待遇认定表
- 幼儿园组织构架图-及工作流程
- 维氏硬度计作业指导书
- 酒店各部门员工考核标准评分表
- 输出轴零件的机械加工工艺规程
- 用数控车床四工位刀架控制系统的设计001
- 自然辩证法开卷考点
评论
0/150
提交评论