javaJDBC
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
步骤详解3: 步骤详解 :获得连接对象
成功加载驱动后,必须使用 类的静态方法getConnection来 成功加载驱动后,必须使用DriverManager类的静态方法 类的静态方法 来 获得连接对象; 获得连接对象; 方 法 原 型
JDBC工作方式示意图 工作方式示意图
Java 程序
JDBC 驱动程序
SQL 命令 结果
数据库
JDBC驱动程序类型 驱动程序类型
使用JDBC连接数据库可以通过不同的驱动方式来实现, 连接数据库可以通过不同的驱动方式来实现, 使用 连接数据库可以通过不同的驱动方式来实现 种驱动类型: 有4种驱动类型: 种驱动类型
DriverManager
Date
该类中包含有将SQL日期格式转换成 日期格式转换成Java日期格式的方法 该类中包含有将 日期格式转换成 日期格式的方法
TimeStamp
表示一个时间戳, 表示一个时间戳,能精确到纳秒
JDBC程序访问数据库步骤 程序访问数据库步骤
开 始
JDBC-ODBC桥方式 桥方式
java.sql包中的一些接口 包中的一些接口
接口名称 Connection Driver Statement PreparedStatement CallableStatement ResultSet 说 明
连接对象, 连接对象,用于与数据库取得连接 用于创建连接( 用于创建连接(Connection)对象 ) 语句对象,用于执行SQL语句,并将数据检索到结果集( 语句对象,用于执行 语句,并将数据检索到结果集( 语句 ResultSet)对象中 ) 预编译语句对象,用于执行预编译的 语句, 预编译语句对象,用于执行预编译的SQL语句,执行效率 语句 比Statement高 高 存储过程语句对象, 存储过程语句对象,用于调用执行存储过程 结果集对象,包含执行 结果集对象,包含执行SQL语句后返回的数据的集合 语句后返回的数据的集合
步骤详解1: 步骤详解 :建立数据源
这里以JDBC-ODBC桥驱动方式为例,逐步详细地讲解在Java程序中 桥驱动方式为例,逐步详细地讲解在 这里以 桥驱动方式为例 程序中 如何操作数据库,而对于其它驱动方式,只需更换驱动程序即可, 如何操作数据库,而对于其它驱动方式,只需更换驱动程序即可,其 余不变; 余不变; 首先建立ODBC数据源: 数据源: 首先建立 数据源 设置】 控制面板】 【管理工具】 【数据源( 【开始】→ 【设置】→ 【控制面板】→【管理工具】→【数据源( 开始】 ODBC)】 ) 新建数据源,名称可以任意, 新建数据源,名称可以任意,这里假设已经建立了一个名为 myODBC的数据源,连接到 的数据源, 中的pubs数据库。 数据库。 的数据源 连接到SQL Server 2000中的 中的 数据库
static Connection getConnection (String url, String user, String password) throws SQLException
说
明
参数url是连接字符串,参数 是数据库用户名, 参数 是连接字符串,参数user是数据库用户名,参数 是连接字符串 是数据库用户名 password是登录口令,成功连接到数据库返回 是登录口令, 是登录口令 成功连接到数据库返回Connection 对象,连接失败则抛出SQLException异常,必须捕捉 异常, 对象,连接失败则抛出 异常
回顾2 回顾
FileReader类和 类和FileWriter类配合 类配合BufferedReader类和 类和 类配合 类和 BufferedWriter类可以以字符流的方式对文件进行读 写操作 类可以以字符流的方式对文件进行读/写操作 类可以以字符流的方式对文件进行读 要从控制台接受输入,需要将 对象进行包装, 要从控制台接受输入,需要将System.in对象进行包装,使用如下语 对象进行包装 句:
说
明
对于使用JDBC-ODBC桥的驱动方式,应该加载: 桥的驱动方式,应该加载: 对于使用 桥的驱动方式 sun.jdbc.odbc.JdbcOdbcDriver类 类 如:
将由className指定完整名称的类加载到 指定完整名称的类加载到 将由 JVM中,如果加载失败,将抛出异常,必须 中 如果加载失败,将抛出异常, 捕捉
JDBC
JDBC(Java DataBase Connectivity)是由 ( )是由Sun Microsystem公司提供的 公司提供的API(Application 公司提供的 ( Programming Interface应用程序编程接口); 应用程序编程接口); 应用程序编程接口 它为Java应用程序提供了一系列的类,使其能够快速高 应用程序提供了一系列的类, 它为 应用程序提供了一系列的类 效地访问数据库; 效地访问数据库; 这些功能是由一系列的类和对象来完成的, 这些功能是由一系列的类和对象来完成的,我们只需使用 相关的对象,即可完成对数据库的操作。 相关的对象,即可完成对数据库的操作。
对于使用JDBC-ODBC桥的连接方式,连接字符串的一般形式是: 桥的连接方式,连接字符串的一般形式是: 对于使用 桥的连接方式 数据源名称” “jdbc:odbc:数据源名称”,如: 数据源名称
Connection con = DriverManager.getConnection("jdbc:odbc:myODBC", "sa", "");
java.sql包 包
java.sql包也是 包也是Java内置的包,其中包含了一系列用于与 内置的包, 包也是 内置的包 数据库进行通信的类和接口; 数据库进行通信的类和接口; 如果要使用到这些类和接口的话, 如果要使用到这些类和接口的话,则必须显式地声明如下 语句: 语句: import java.sql.*;
这就意味着编程语言要针对不同的DBMS开发不同版本的应用程序, 开发不同版本的应用程序, 这就意味着编程语言要针对不同的 开发不同版本的应用程序 这将是一项非常枯燥的工作。 这将是一项非常枯燥的工作。
ODBC
ODBC(Open DataBase Connectivity)指开放式数据 ( ) 库连接,是由Microsoft公司提供的应用程序接口; 公司提供的应用程序接口; 库连接,是由 公司提供的应用程序接口 它负责连接各种不同产商和类型的DBMS,然后为各种不 , 它负责连接各种不同产商和类型的 同的编程语言提供查询、插入、修改和删除数据的功能; 同的编程语言提供查询、插入、修改和删除数据的功能; 如同在各种不同的DBMS和各种不同的编程语言之间架设 和各种不同的编程语言之间架设 如同在各种不同的 了一座通用的桥梁。 了一座通用的桥梁。
导入 java.sql包 包
纯Java驱动方式 驱动方式
建立数据源( 建立数据源(ODBC) )
附加相应产商提供的驱动
加载并注册驱动程序 创建Connection 对象 创建 关闭ResultSet 对象 关闭 关闭Statement对象 对象 关闭 使用ResultSet对象 对象 使用 关闭Connection对象 对象 关闭 创建 Statement 对象 执行SQL语句 语句 执行 结 束
数据库访问技术简介
当今企业级应用程序大部分采用了客户机/服务器( 当今企业级应用程序大部分采用了客户机 服务器(C/S) 服务器 ) 模式; 模式; 客户端机器需要与服务器进行通讯, 客户端机器需要与服务器进行通讯,要操作数据库中的数 执行SQL(Structured Query Language结构化查 据,执行 ( 结构化查 询语言)语句以及检索查询结果; 询语言)语句以及检索查询结果; 中实现这些活动的技术称作JDBC。 在Java中实现这些活动的技术称作 中实现这些活动的技术称作 。
本章相关词汇
单
driver connection manager statement prepared result create execute query
词
驱动, 驱动,驱动程序 连接 管理器 语句 预备的, 预备的,预编译的 结果 创建, 创建,创造 执行 查询
说
明
本章目标
了解JDBC的概念和必要性 的概念和必要性 了解 了解JDBC驱动程序类型 驱动程序类型 了解 了解java.sql包 包 了解 理解JDBC程序的结构 程序的结构 理解 使用JDBC进行数据库编程 进行数据库编程 使用
数据库编程示意图
数据库编程
执行 SQL 语句
客户机/服务器 客户机 服务器 应用程序
数据库
检索查询结果
JDBC
关于DBMS 关于
DBMS(DataBase Management System)是指数据库管理系统; ( )是指数据库管理系统; 目前DBMS的生产商众多,产品也不尽相同,如: 的生产商众多,产品也不尽相同, 目前 的生产商众多
JDBC-ODBC桥驱动 桥驱动 纯Java驱动 驱动 本地API部分 部分Java驱动 本地 部分 驱动 JDBC网络纯 网络纯Java驱动 网络纯 驱动
不论采用哪种驱动方式, 不论采用哪种驱动方式,在程序中对数据库的操作方式基 本相同,只是加载不同的驱动程序即可。 本相同,只是加载不同的驱动程序即可。
InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);
百度文库
绝大部分的IO操作都有可能抛出 绝大部分的 操作都有可能抛出IOException 操作都有可能抛出
java.sql包中的一些类 包中的一些类
类 名 称
说
明
SQLException
数据库异常类,是其它 异常类的根类, 数据库异常类,是其它JDBC异常类的根类,继承于 异常类的根类 java.lang.Exception,绝大部分对数据库进行操作的方法都有 , 可能抛出该异常 驱动程序管理类,用于加载和卸载各种驱动程序, 驱动程序管理类,用于加载和卸载各种驱动程序,并建立与数 据库的连接
Oracle公司的 公司的Oracle系列; 系列; 公司的 系列 Microsoft公司的 公司的Access系列和 系列和SQL Server系 公司的 系列和 系 列; Microsoft公司早期的 公司早期的FoxPro; 公司早期的 ; IBM公司的 公司的DB2; 公司的 ; Sybase公司的 公司的Sybase; 公司的 ; 还有自由开源的MySQL等等。 等等。 还有自由开源的 等等
步骤详解2: 步骤详解 :加载驱动程序
使用Class类的 类的forName方法,将驱动程序类加载到 方法, 使用 类的 方法 将驱动程序类加载到JVM(Java虚拟 ( 虚拟 机)中;
方 法 原 型
static Class forName(String className) throws ClassNotFoundException
Java JDBC
中国十大品牌IT教育机构
http://www.newer.com.cn
回顾1 回顾
java.io包中包含了一系列对输入 输出进行操作的类 包中包含了一系列对输入/输出进行操作的类 包中包含了一系列对输入 File类用于访问文件系统,但只能访问文件(或目录)的属性,而不 类用于访问文件系统,但只能访问文件(或目录)的属性, 类用于访问文件系统 能进行读/写操作 能进行读 写操作 流是指一连串流动的数据信号,是以先进先出方式发送信息的通道, 流是指一连串流动的数据信号,是以先进先出方式发送信息的通道, 从流动方向上区分,流可以分为输入流和输出流,从格式上区分, 从流动方向上区分,流可以分为输入流和输出流,从格式上区分,可 以分为字节流和字符流 使用FileInputStream类和 类和FileOutputStream类以字节流的方式读写 使用 类和 类以字节流的方式读写 文件