Java数据库连接技术JDBC.ppt
《Java数据库连接技术JDBC.ppt》由会员分享,可在线阅读,更多相关《Java数据库连接技术JDBC.ppt(37页珍藏版)》请在三一办公上搜索。
1、1,第十二章 JDBC技术,贺玉珍,计算机科学与技术系,2,主要内容,JDBC概述JDBC API的几个基本类和接口应用JDBC访问数据库,计算机科学与技术系,3,ODBC,12.1 JDBC概述,计算机科学与技术系,Open DataBase Connectivity开放数据库互连是微软开发的、当前被业界广泛接受的、用于数据库访问的应用程序编程接口(API)。是用C语言实现的,标准应用程序数据接口。支持异构的DBMS。,4,12.1 JDBC概述,5,12.1 JDBC概述,JDBC(Java DataBase Connectivity),JDBC是为在Java Applet和应用程序中访问
2、关系数据库而设计的API类和接口。JDBC独立于平台和数据库。在JDBC规范中,成功地提供了SQL数据库访问的 JAVA方法。JDBC结构如下图所示:,计算机科学与技术系,6,JDBC应用框架,7,12.1 JDBC概述,12.1.2 JDBC驱动程序的类型,有四种,分别用于不同的场合。,JDBC-ODBC桥接驱动程序本机应用编程接口部分Java驱动程序数据库中间件的纯Java驱动程序直接连接数据库的纯Java驱动程序,计算机科学与技术系,8,JDBC驱动类型,9,12.1.2 JDBC驱动类型,JDBC-ODBC桥接驱动程 序这种类型的驱动实际是把所有jdbc的调用传递给odbc,再由odb
3、c调用本地数据库驱动代码jdbc-odbc桥-odbc-厂商DB代码-数据库Server优点:只要本地机装有相关的odbc驱动,那么采用jdbc-odbc桥几乎可以访问所有的数据库 缺点:执行效率比较低;平台的依赖性。,计算机科学与技术系,10,12.1.2 JDBC驱动类型,本机应用编程接口部分Java驱动程序直接把jdbc调用转变为数据库的标准调用再去访问数据库。本地api驱动-厂商DB代码-数据库Server优点:这种驱动比起jdbc-odbc桥加odbc执行效率大大提高了缺点:仍然需要在客户端加载数据库厂商提供的代码库。这样就不适合基于internet的应用,计算机科学与技术系,11,
4、12.1.2 JDBC驱动类型,数据库中间件的纯Java驱动程序使用与具体数据库无关的网络应用通信协议,将java应用程序中对数据库的访问发送给网络上的中间件服务器。中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用传给数据库服务器网络协议驱动-中间件服务器-数据库Server优点:不需要在客户端加载数据库厂商提供的代码库;在执行效率和可升级性方面是比较好的。缺点:这种驱动在中间件层仍然需要有配置其它数据库驱动程序,并且由于多了一个中间层传递数据,计算机科学与技术系,12,12.1.2 JDBC驱动类型,直接连接数据库的纯Java驱动程序这种驱动直接把jdbc调用转换为符合相关数据库
5、系统规范的请求。由于这种驱动写的应用可以直接和数据库服务器通信,这种类型的驱动完全由java实现,因此实现了平台独立性.本地协议驱动-数据库Server优点1:所以它的执行效率是非常高的优点2:平台独立性缺点:虽然驱动程序可以动态的被下载,但是对于不同的数据库需要下载不同的驱动程序,计算机科学与技术系,13,12.2 JDBC API,JDBC API的基本功能,建立一个与数据源的连接;向数据源发出查询和更新语句;处理得到的结果,计算机科学与技术系,14,12.2 JDBC API,Java中有关JDBC API的类,java.sql包,DriverManager类:驱动程序管理类Driver
6、接口:数据库驱动程序Connection接口:到特定数据库的连接Statement接口:用于执行静态 SQL 语句并返回它所生成结果的对象。ResultSet接口:数据库结果集的一个数据表,计算机科学与技术系,15,使用JDBC访问数据库,基本上需要以下几个方法和步骤,计算机科学与技术系,装入合适的驱动程序;创建一个连接对象;生成一个SQL语句并执行;处理结果集;关闭连接。,12.3 基于JDBC的数据库应用开发方法,16,装入驱动程序,计算机科学与技术系,DriverManager类,12.3 基于JDBC的数据库应用开发方法,驱动程序管理类实现驱动程序的装载,并实现与JDBC数据源的连接。
7、是JDBC的管理层,工作在用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。Class.forName(“数据库驱动程序类”);,Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);Class.forName(“oracle.jdbc.driver.OracleDriver”);Class.forName(“com.mysql.jdbc.Driver”);,17,Class类,类一个普通类,可以提供程序中每个类的信息,如类名、类的父类、接口、类的成员变量、类的构造方法和方法等。主要方法:,12.3 基于JDBC数据库应用开发
8、方法,public static Class forName(String className)throws ClassNotFoundException;/该方法根据给定的字符串参数返回相应的Class对象。,计算机科学与技术系,18,Class类,主要方法:,12.3 基于JDBC数据库应用开发方法,public boolean isInterface();public Object newInstance()throws InstantiationException,IllegalAccessException;public Class getInterfaces();public St
9、ring getName();public Class getSuperclass();,计算机科学与技术系,19,建立与数据源的连接。,计算机科学与技术系,JDBC URL,12.3 基于JDBC数据库应用开发方法,JDBC数据源url的标准格式:jdbc:,jdbc:总协议子协议:驱动程序名或数据库连接机制(可由一个或多个驱动程序支持)的名称。子名称:指定具体数据库或数据源的连接信息(数据库服务器的IP地址,端口号,ODBC数据源名称,连接用户名/密码等)。,例:jdbc:odbc:bookstore jdbc:dbnet:/wombat:356 jdbc:microsoft:sqlser
10、ver:/127.0.0.1:1433;DatabaseName=stud,20,建立与数据源的连接。,计算机科学与技术系,建立连接,12.3 基于JDBC数据库应用开发方法,Connection DriverManager.getConnection(url),例:String url=“jdbc:odbc:bookstore”;Connection con=DriverManager.getConnection(url);,21,Connection类,计算机科学与技术系,数据库的连接类。定义了上下文的行为,在其中发布SQL语句并接收结果提供的主要方法:,12.3 基于JDBC数据库应用开
11、发方法,createStatement();/创建Statement 对象来将 SQL 语句发送到数据库。2)prepareStatement(String query);/创建PreparedStatement 对象来将参数化的 SQL 语句发送到数据库 3)close();4)commit();/事务提交 5)rollback();/事务回滚,22,创建SQL语句,计算机科学与技术系,Statement类,SQL语句类。执行SQL语句并获得处理结果。PrepareStatement类,预编译类。用于执行预编译的SQL语句。CallableStatement类,存储过程类。用于执行对一个数据
12、库存储过程的调用。,12.3 基于JDBC数据库应用开发方法,23,执行SQL语句,计算机科学与技术系,方法executeQuery()用于产生单个结果集的语句,例如SELECT语句。方法executeUpdate()用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,例如CREATE TABLE和DROP TABLE。方法execute()用于执行返回多个结果集、多个更新计数或二者组合的语句。,12.3 基于JDBC数据库应用开发方法,24,Statement类,计算机科学与技术系,主要方法:,12.3 基于JDBC数据库应用开发方法,ResultSet execut
13、eQuery(String query);int executeUpdate(String query);boolean execute(String query);setMaxRows(int rownum);getMaxRows();close();ResultSet getResultSet();int getUpdateCount();boolean getMoreResults();,25,Statement类,计算机科学与技术系,示例:,12.3 基于JDBC数据库应用开发方法,Statement stmt=con.createStatement();String query=“S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 数据库连接 技术 JDBC
链接地址:https://www.31ppt.com/p-6509848.html