1 / 13

JDBC

JDBC. 2013..4.23. 简介. JDBC ( Java DataBase Connection ) 是应用程序与数据库沟通的桥梁,即 Java 语言通过 JDBC 技术访问数据库。 JDBC 是一种“开放”的方案,它为数据库应用开发人员 ﹑ 数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯 Java 语言编写完整的数据库应用程序。 JDBC 提供两种 API ,分别是面向开发人员的 API 和面向底层的 JDBC 驱动程序 API ,底层主要通过直接的 JDBC 驱动和 JDBC-ODBC 桥驱动实现与数据库的连接。.

Download Presentation

JDBC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JDBC 2013..4.23

  2. 简介 • JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁,即Java语言通过JDBC技术访问数据库。JDBC是一种“开放”的方案,它为数据库应用开发人员﹑数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。JDBC提供两种API,分别是面向开发人员的API和面向底层的JDBC驱动程序API,底层主要通过直接的JDBC驱动和JDBC-ODBC桥驱动实现与数据库的连接。

  3. JDBC与ODBC比较 • ODBC并不适合在Java中直接使用 • ODBC是一个C语言实现的API,从Java程序调用本地的C程序会带来一系列类似安全性、完整性、健壮性的 • 完全精确实现从C代码ODBC到Java API写的ODBC的翻译并不令人满意,比如指针。 • ODBC并不容易学习,它将简单特性和复杂特性混杂在一起,甚至对非常简单的查询都要有复杂的选项。而JDBC相反,保持了简单事物的简单性,又允许复杂的特性。 • Java API对纯Java方案来说是必须的 • ODBC驱动器和驱动管理器移植 • Java写的JDBC驱动适应任何Java平台 • JDBC支持两层模型,也支持三层模型访问数据库

  4. JDBC的数据库访问模型 • 两层模型 • 通过JDBC直接与数据库连接 • 三层模型 • 通过web服务器端JDBC与 数据库连接

  5. Java数据库访问机制 • Java应用程序访问数据库的过程 • 装载数据库驱动程序 • 通过JDBC建立数据库连接 • 访问数据库,执行SQL语句 • 断开数据库连接

  6. 装载JDBC驱动程序 • 在Oracle数据库安装文件夹中找到jdbc文件夹→lib文件夹→classesl2.jar →导入项目的库中 • 载入JDBC驱动 • Class.forName("oracle.jdbc.driver.OracleDriver"); • 注册JDBC驱动: • java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

  7. 建立与数据库的连接 • 要建立与数据库的连接,首先要创建指定数据库的URL • jdbc:subProtocol:subName:@hostname:port:DatabaseName • jdbc表示当前通过Java的数据库连接进行数据库访问 • subProtocol表示通过某种驱动程序支持的数据库连接机制 • subName表示在当前连接机制下的具体名称 • hostname表示主机名 • port表示相应的连接端口 • DatabaseName表示要连接的数据库的名称 • 例子:jdbc:oracle:thin:@localhost:1521:orcl(以thin模式访问Oracle) • 利用DriverManager 的getConnection方法建立的连接数据库的URL对象 • Connection con=java.sql.DriverManager.getConnection(url,user,password)

  8. 创建Statement • 要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为一下3类: • 执行静态SQL语句,通常使用Statement实例 • 执行动态SQL语句,通常使用PreparedStatement实例 • 执行数据库存储过程,通常使用CallableStatement实例 • 具体实现: • Statement stmt = con.createStatement(); • PreparedStatement pstmt = con.prepareStatement(sql); • CallableStatement cstmt = conn.prepareCall(sql);

  9. 执行SQL语句 • Statement接口提供了executeQuery、executeUpdate和execute方法 • ResultSet executeQuery(String sql):执行查询数据库的SQL语句,返回一个结果集对象; • int executeUpdate(String sql):用于执行insert、update或delete语句以及SQL DDL语句,如create/drop table; • boolean execute(String sql):用于执行返回多个结果集、多个更新计数或者二者组合的语句。

  10. 处理结果 • 执行更新,返回的是本次操作影响到的记录数。 • 执行查询,返回的结果是一个结果集ResultSet对象,其中包含符合条件的所有的行,可以使用它的一套get访问方法获取数据: • While( rs.next() ){ • String name = rs.getString(“name”); • String pass = rs.getString(1);//此方法比较高效 • }

  11. 例子 装载连接Oracle的JDBC驱动 Oracle数据库的URL对象 执行SQL查询语句,并输出 连接数据库

  12. 关闭JDBC对象 • 操作完成后要将所有使用的JDBC对象全部关闭,以释放JDBC资源,关闭顺序和声明顺序相反: • 关闭结果集:rs.close(); • 关闭声明:stmt.close(); • 关闭连接对象:con.close();

  13. Thank you!

More Related