预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共29页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

主要内容§1JDBC简介1.2JDBC的特点 一致API(独立于各种DBMS) 简洁性 健壮性 1.3JDBC的构成 1、JDBC驱动程序管理器 装载特定数据库的驱动程序 初始化、管理驱动 2、驱动程序 任务 建立连接、发送数据请求、结果集和事务处理、错误信息处理等 分类JDBC驱动分类 JDBC-ODBC桥:通过Microsoft的ODBC访问数据库。 这是Java核心类提供的惟一的JDBC驱动(即第I类驱动),该驱动的Java类名为:sun.jdbc.odbc.JdbcOdbcDriver。 JDBC-Native桥:通过DBMS提供的驱动程序访问。 DBMS必须有支持JDBC连接的JAVA驱动。 JDBC-Network桥:采用中间服务器作为协议转换器,将JDBC的请求格式转化为目标DBMS的请求格式。 纯JDBC驱动:JDBC驱动直接与数据库进行通信(套接字)。 3、数据源 ODBC设置与访问 jdbc:odbc:XXXX 其他数据源 常用数据库JDBC连接写法大全.mht4、JDBC应用程序 下一小节介绍 JDBC四种组件之间的关系1.4JDBCAPI概述 JDBC提供两种编程接口:面向数据库开发人员的接口;面向JDBC驱动程序开发的接口。 面向数据库开发人员的接口 java.sql.DriverManager:加载驱动、建立连接 java.sql.Connection:数据库连接 java.sql.Statement:处理连接中的SQL语句 java.sql.ResultSet:处理结果集 面向JDBC驱动开发的接口 java.sql.Driver:一般由JDBC生产厂商提供。 §2基本的JDBC应用2.2JDBC编程举例 例:以SQLServer为服务器,查询Pubs数据库中出版社信息。 参考:JDBC_1.rar DriverManager getConnection(StringconnStr);创建数据库连接,连接前必须装载相应的驱动 Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); 抛出ClassNotFoundException异常 抛出SQLException异常 Connection createStatement();打开一个查询窗口 prepareStatement(StringpreStr);打开一个带参数的查询窗口 prepareCall(Stringcs);准备调用存储过程 close();关闭连接Statement ResultSetexecuteQuery(Stringsql);执行返回结果集的查询SQL intexecuteUpdate(Stringsql);执行返回影响行数的更新SQL ResultSet XXXgetXXX(intcol);获取第col列的值,以XXX类型返回,XXX可以是Int、String、Double、Date等 booleannext();移动到结果集的下一行 结果集实际上是用光标指示的,每次光标只指向一条记录,且光标只能向后移动,不能向前移! 最初光标停在-1位置,调用一次next往后加1关闭 按照从ResultSetStatementConnection的顺序关闭,否则会出现异常! ResultSet若依然有数据遗留,则该ResultSet是激活的;调用close()方法可以关闭结果集,而当调用next()方法到达最后一行(返回值为false)时,结果集会自动关闭! 一个Statement可以有多个ResultSet,但不能同时打开多个激活态的ResultSet,Statement只保留最后一个结果集! 一个Connection可以有多个Statement,但每个时刻只能有一个Statement执行查询或更新SQL! 使用后最好关闭Connection连接,否则将占用过多网络资源(当然在连接池中可以不用关闭)!课堂练习补充:JDBC直接连接SQLServer§3元数据3.1DatabaseMetaData接口 功能:获取连接的数据库的库结构信息 获取方法:通过Connection的getMetaData方法获取。 DatabaseMetaData接口方法 publicStringgetDatabaseProductName(); publicStringgetDatabaseProductVersion(); publicStringgetDriverName(); publicintgetMaxConnections(); publicResultSetgetSchemas(); publicResultSetgetTables(Stringcatalog,StringschemaPa