第十二课《Jdbc数据库操作》

上传人:飞*** 文档编号:52330335 上传时间:2018-08-20 格式:PPT 页数:33 大小:428KB
返回 下载 相关 举报
第十二课《Jdbc数据库操作》_第1页
第1页 / 共33页
第十二课《Jdbc数据库操作》_第2页
第2页 / 共33页
第十二课《Jdbc数据库操作》_第3页
第3页 / 共33页
第十二课《Jdbc数据库操作》_第4页
第4页 / 共33页
第十二课《Jdbc数据库操作》_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《第十二课《Jdbc数据库操作》》由会员分享,可在线阅读,更多相关《第十二课《Jdbc数据库操作》(33页珍藏版)》请在金锄头文库上搜索。

1、第十二课Jdbc数据库操作目标了解 JDBC简介掌握 JDBC的连接步骤掌握 Connection 对象的应用掌握 Statement对象的应用掌握 Recordset对象的应用掌握 事务机制2什么是JDBCJDBC, 全称为Java DataBase Connectivity 它是一个 面向对象的应用程序接口(API), 通过它可访问各类 关系数据库。JDBC也是java核心类库的一部分。JDBC的最大特点是它独立于具体的关系数据库。 JDBC API 中定义了一些Java类分别用来表示与数据 库的连接(connections), SQL语句(SQL Statements)结果集(resul

2、t sets)以及其它的数据库 对象, 使得Java程序能方便地与数据库交互并处理所 得的结果3JDBC 简介与ODBC相类似,JDBC接口(API)也 包括两个层次: 面向应用的API:Java API,抽象接口 ,供应用程序开发人员使用(连接数据 库,执行SQL语句,获得结果) 面向数据库的API:Java Driver API, 供开发商开发数据库驱动程序4数据库访问技术简介客户机/服务器 应用程序 数据库编程ODBCJDBC两个常用的API数据库执行 SQL 语句检索查询结果 5JDBC JDBC (Java 数据库连接) (sun公司提供)Java 应用程序编 程接口Java应用程序

3、数据库 插 入修 改删 除查询 6JDBC主要对象JDBC是JAVA程序连接数据库的接口主要是三个对象: Connection Statement ResultSet另外PreparedStatement 用于执行预编译语句CallableStatement 用于调用存储过程7JDBC 驱动程序的类型JDBC 驱动程序 的类型 JDBC-ODBC桥驱动程序及ODBC驱动程序 本地API部分Java驱动程序 JDBC-Net 纯Java驱动程序 本地协议纯Java驱动程序 8JDBC driver 的类型共有四种类型的JDBC driver: 类型1 JDBC-ODBC bridge drive

4、r 这种类型的driver能使客户端通过JDBC调用连接 到一个使用ODBC driver的数据库。使用这类driver 需要每个客户端机器都装上数据库对应的ODBC driver 类型2 部分Java、部分本机驱动程序 这种驱动使用Java实现与数据库厂商专有API的 混和形式来提供数据访问。它比前一种方式要快。 JDBC驱动将标准的JDBC调用转变为对数据库API的 本地调用,该类型的驱动程序是本地部分Java技术性 能的本机API驱动程序 9JDBC driver 的类型(续)类型3 中间数据访问服务器这种方式使用一个中间数据访问服务器,通过这种服务器,它可 以把Java客户端连接到多个

5、数据库服务器上 ,这种方式不需要客户端 的数据库驱动,而是使用网络服务器中间层来访问一个数据库 类型4 纯Java驱动程序这种方式使用厂商专有的网络协议把JDBC API调用转换成直接 的网络调用,这种方式的本质是使用套接字(Socket)进行编程。纯 Java驱动运行在客户端,并且直接访问数据库 ,该类型的驱动程序是 本地协议完全Java技术性能的驱动程序,同时它的使用也比较简单, 客户端不需要安装任何中间件或者运行库 10JDBC 体系结构 2-1Java 程序 JDBC 驱动程序数据库SQL 命令 结果 11JDBC 体系结构 2-2 应用层 Driver StatementResult

6、Set Connection 各接口驱动层 12JDBC URL JDBC URL提供了一种标识数据库的方法,可以使相 应的驱动程序能识别该数据库并与之建立连接。JDBC 的作用是提供某些约定,驱动程序编程员在构造它们 的JDBC URL时应该遵循这些约定 JDBC URL 应允许驱动程序编程员将一切所需的信息 编入其中,而无须要求用户去做任何系统管理工作 13JDBC URL的标准语法JDBC URL 的标准语法如下所示。它由以下几个不风 组成,各部分间用冒号分隔: jdbc:jdbc 协议。JDBC URL 中的协议总是 jdbc 驱动程序名或数据库连接机制的名 称 一种标识数据库的方法以

7、Oracle thin 驱动为例:String url = “jdbc:oracle:thin:127.0.0.1:1521:dbname“;14JDBC URL的标准语法JDBC URL 的标准语法如下所示。它由以下几个不风 组成,各部分间用冒号分隔: jdbc:jdbc 协议。JDBC URL 中的协议总是 jdbc 驱动程序名或数据库连接机制的名 称 一种标识数据库的方法以Oracle thin 驱动为例:String url = “jdbc:oracle:thin:127.0.0.1:1521:dbname“;15使用JDBC存取数据库1 加载JDBC driver;2 在客户程序与数

8、据库之间建立连接;3 通过数据库连接将SQL语句从Java程序传到数据库;4 通过数据库返回的记录集得到所需的数据;5 如需要,再用修改后的数据更新数据库;6 操作结束,关闭连接16JDBC 程序访问数据库的步骤 开 始导入 java.sql包 加载并注册驱动程序创建一个 Connection 对象创建一个 Statement 对象执行语句关闭ResultSet 对象关闭Statement对象关闭连接结 束使用ResultSet对象171 加载 JDBC driver驱动程序一般都由数据库厂商提供 / 1 注册,加载 JDBC驱动DriverManager.registerDriver(new

9、 oracle.jdbc.driver.OracleDriver();182 与数据库建立连接使用DriverManager类的getConnection()方法可以与指定的数据库建 立连接。如:String url = “jdbc:oracle:thin:127.0.0.1:1521:stan“ ;String username = “stan“;String password = “stan“;Connection conn = null ;/ 2 与数据库建立连接 conn = DriverManager.getConnection (url, username , password);

10、其中的username和password分别对应所连数据库的用户名和口令 。193. 创建一个Statement 对象/ 3 创建 Statement 对象Statement stmt = conn.createStatement();建立了Statement对象后,就可以利用该对象,根据行指定的SQL语句,执行对数据库的操作204. 执行指定的SQL语句一旦建立了Statement对象后,就可以利用该对象的 executeQuery()方法让数据库执行指定的SQL语句。如:/ 4 执行指定的sql语句 String sql = “ select empno,ename,sal from em

11、p “ ; ResultSet rs = stmt.executeQuery(sql);215. 获取结果集中的数据调用ResultSet对象的next()方法得到该集合中新的一行 。如果ResultSet集合多于一行,可以用一个循环将它取 出 如:/ 5 获取结果集中的数据while(rs.next()int no = rs.getInt(“empno“);String name = rs.getString(“ename“);System.out.println(“EmpNo: “+no+ “ EmpName: “+name);其中,ResultSet的getXXX()方法用于获取该行中指

12、定 列的值。226关闭数据库连接对数据库操作结束后,通常要依次关闭打开的 ResultSet, Statement和Connection对象。 如:rs.close();stmt.close();conn.close();要注意的是,前面介绍的许多方法如executeQuery() 和executeUpdate()等方法均会产生一个SQLException 的异常,所以使用这些语句时要作相应的异常处理23API 小结Java.sql.Java.sql.DriverManager DriverManager getConnection(String url,String user,String

13、pwd) / 获得连接registerDriver(Driver driver) / 注册驱动Java.sql.Java.sql.ConnectionConnectioncreateStatement() / 建立语句对象,以执行sqlvoid close() / 关闭当前连接Java.sql.Java.sql.StatementStatementexecuteQuery(String sql)executeUpdate(String sql)boolean execute(sql)如查返回结果集,则返回true,否则返回false24API 小结(续)Java.sql.Java.sql.Re

14、sultSetResultSet boolean next() / 使当前 行下移 getXxx(int columnNumber) / 取指 定列值 getXxx(String columnName) / 取指定 列名的值 close() 关闭 25PreparedStatement接口 3-1 PreparedStatement接口 (预编译的 SQL 语句)PreparedStatement用于提高运行时效率执行 PreparedStatement 对象比执行 Statement 对象快Statement 接口26PreparedStatement 表示预编译的 SQL 语句的对象。 S

15、QL 语句被预编译并且存储在 PreparedStatement 对象中。然后可以使用此对象高效地多次执行该语句要多次执行一个SQL语句,使用PreparedStatement SQL 语句在创建时提供参数在执行 PreparedStatement 时,只传递参数值通过不同的参数值多次调用 如:/ 创建 Statement 对象,预编译sql语句 String sql = “ update emp set sal=sal+? where empno = ?” ; pstmt = conn.prepareStatement(sql);27为预编译sql赋值在创建 PreparedStatement 对象之后,必须为参数赋值使用setXXX方法如:/ 为已经预编译的sql赋值pstmt.setInt(1, 1); / 为第一个参数(?)赋值 1pstmt.setInt(2, 7369); / 为第二个参数(?)赋值 736928PreparedStatement 与 Statement无论多少次地使用同

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号