- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11讲JDBC介绍
第十一讲 JDBC:JAVA数据库连接 ODBC ODBC的结构包括四个主要部分: 应用程序接口:屏蔽不同的ODBC数据库驱动器之间函数调用的差别,为用户提供统一的SQL编程接口。 驱动器管理器:为应用程序装载数据库驱动器。 数据库驱动器:实现ODBC的函数调用,提供对特定数据源的SQL请求。如果需要,数据库驱动器将修改应用程序的请求,使得请求符合相关的DBMS所支持的文法。 数据源:由用户想要存取的数据以及与它相关的操作系统、DBMS和用于访问DBMS的网络平台组成。 JDBC接口 两层接口 上层JDBC API,面向应用程序开发者 下层JDBC Driver API,面向数据库底层开发人员 数据库驱动程序 JDBC-ODBC 数据库供应商提供的JDBC Driver JDBC应用模型 两层结构模型 三层(或多层)结构模型 两层结构模型 客户/服务器模式 三层结构模型 JDBC中主要的类 在java.sql包中主要的类: 驱动程序相关类 Drivers DriverManager 连接数据库 Connection 执行SQL语句 Statement PrepareStatement CallableStatement 结果集 ResultSet 装载驱动程序 装载驱动程序只需要非常简单的一行代码。例如,你想要使用 JDBC-ODBC 桥驱动程序, 可以用下列代码装载它: Class.forName( sun.jdbc.odbc.JdbcOdbcDriver); 建立连接 用适当的驱动程序类与 DBMS 建立一个连接。下列代码是一般的做法:Connection con = DriverManager.getConnection(url, LoginName, Password); JDBC URL 如果使用 JDBC-ODBC 桥, JDBC URL 将以 jdbc:odbc 开始:余下 URL 通常数据源名字或数据库系统。 jdbc:子协议:数据库子名称 例如:存取一个叫 “Test 的 ODBC 数据源,JDBC URL 是 jdbc:odbc:Test String url = jdbc:odbc:Test; Connection con = DriverManager.getConnection(url, admin, 12345); DriverManager.getConnection 方法返回一个打开的连接 创建 JDBC Statements 对象 创建一个 Statement 对象用于把 SQL 语句发送到 DBMS 。 Statement stmt = con.createStatement(); 发送的 SQL 语句 使用适当的方法执行你发送的 SQL 语句。 SELECT 语句,使用 executeQuery 创建或修改表的语句,使用的方法是 executeUpdate。 String SQLStr=“SELECT * FROM Student”; stmt. executeQuery(SQLStr); String SQLStr=“DELETE Student WHERE Id=1”; stmt. executeUpdate(SQLStr); 创建 PrepareStatements 对象 创建一个 PrepareStatement 对象用于把带参数的 SQL 语句发送到 DBMS 。 int nId = 10; String SQLStr = “SELECT * FROM stu WHERE id=?”; PrepareStatement stmt = con. prepareStatement(SQLStr); stmt.setInt (1,nId) 创建 CallableStatements 对象 创建一个 CallableStatements 对象用于调用存储过程 。 CallableStatements cstmt = con.prepareCall( {call Total(?)} ); cstmt.executeUpdate(); 查询结果 ResultSet对象 boolean first() boolean last() boolean next() getXXX (int index) 或 getXXX (String FiledName) int i = 0; String [] name=new String[100];
文档评论(0)