Download presentation
Presentation is loading. Please wait.
1
JDBC 数据库系统与应用 2014年
2
简介 JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁,即Java语言通过JDBC技术访问数据库。JDBC是一种“开放”的方案,它为数据库应用开发人员﹑数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。JDBC提供两种API,分别是面向开发人员的API和面向底层的JDBC驱动程序API,底层主要通过直接的JDBC驱动和JDBC-ODBC桥驱动实现与数据库的连接。 This is my outline.
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支持两层模型,也支持三层模型访问数据库 3
4
JDBC的数据库访问模型 两层模型 通过JDBC直接与数据库连接 三层模型 通过web服务器端JDBC与 数据库连接
5
Java数据库访问机制 Java应用程序访问数据库的过程 装载数据库驱动程序 通过JDBC建立数据库连接 访问数据库,执行SQL语句
断开数据库连接 This is my outline. 5
6
装载JDBC驱动程序 在Oracle数据库安装文件夹中找到jdbc文件夹→lib文件夹→classesl2.jar →导入项目的库中
Class.forName("oracle.jdbc.driver.OracleDriver"); 注册JDBC驱动: java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); This is my outline. 6
7
建立与数据库的连接 要建立与数据库的连接,首先要创建指定数据库的URL
jdbc表示当前通过Java的数据库连接进行数据库访问 subProtocol表示通过某种驱动程序支持的数据库连接机制 subName表示在当前连接机制下的具体名称 hostname表示主机名 port表示相应的连接端口 DatabaseName表示要连接的数据库的名称 利用DriverManager 的getConnection方法建立的连接数据库的URL对象 Connection con=java.sql.DriverManager.getConnection(url,user,password)
8
创建Statement 要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为一下3类:
执行动态SQL语句,通常使用PreparedStatement实例 执行数据库存储过程,通常使用CallableStatement实例 具体实现: Statement stmt = con.createStatement(); PreparedStatement pstmt = con.prepareStatement(sql); CallableStatement cstmt = conn.prepareCall(sql); This is my outline. 8
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);//此方法比较高效 } 10
11
例子 装载连接Oracle的JDBC驱动 Oracle数据库的URL对象 执行SQL查询语句,并输出 连接数据库
12
关闭JDBC对象 操作完成后要将所有使用的JDBC对象全部关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
关闭结果集:rs.close(); 关闭声明:stmt.close(); 关闭连接对象:con.close(); 12
13
Thank you!
Similar presentations