JDBC访问数据库.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:29 大小:186KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

JDBC访问数据库.ppt

JDBC访问数据库.ppt

预览

免费试读已结束,剩余 19 页请下载文档后查看

10 金币

下载此文档

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

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.rarDriverManagergetConnection(StringconnStr);创建数据库连接,连接前必须装载相应的驱动Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);抛出ClassNotFoundException异常抛出SQLException异常ConnectioncreateStatement();打开一个查询窗口prepareStatement(StringpreStr);打开一个带参数的查询窗口prepareCall(Stringcs);准备调用存储过程close();关闭连接StatementResultSetexecuteQuery(Stringsql);执行返回结果集的查询SQLintexecuteUpdate(Stringsql);执行返回影响行数的更新SQLResultSetXXXgetXXX(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