日期:2014-05-16  浏览次数:20659 次

《partner4java 讲述JDBC》之第一步:JDBC基础
JDBC的作用:
The Java Database Connectivity (JDBC) 是一套Java API,用于Java编程语言和广泛的数据库之间连接的标准。JDBC API提供了一套访问“SQL数据库”的调用级API。


JDBC API概述:
JDBC API做的三件事情:
1、建立与数据库的连接(或访问系统数据源)
2、发送SQL语句
3、处理结果


JDBC架构:
JDBC API包括两部分接口:
第一部分是JDBC API提供给应用开发者(也就是我们这些码农);
第二部分是底层的JDBC驱动API,需JDBC驱动开发者实现。

如图:


左侧 -- 这种风格的驱动程序将JDBC调用 直接转换成 数据库管理系统使用的网络协议,通过Intranet访问直接从客户机调用DBMS服务器。 
右侧 -- 这种风格的驱动程序将JDBC调用由一个中间件服务器,将其转换为DBMS协议,由中间件提供到不同的数据库的连接。 


JDBC的优势:
使用现有的数据库 -- 使用JDBC技术,企业不会锁定任何专有的架构,可以很容易继续使用已安装的数据库。
简化企业开发 -- Java API和JDBC API结合,使得应用开发更容易和“廉价”。复杂的数据库访问任务被隐藏在JDBC之下,且JDBC API简单易学、易于部署。
网络计算机不需要配置 -- 使用JDBC API,不需要在客户端上做任何配置。所需的全部信息以JDBC URL或DataSource对象形式定义,通过Java编写的驱动程序进行链接。



本章内容分为下两大部分:
第一部分:HelloWorld简单示例
第二部分:JDBC详解





第一部分:HelloWorld简单示例



准备环境导入相关JDBC驱动(我这里用的是MySQL):
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>


一个基本的JDBC操作大体分为四步:
第一步:注册驱动
第二步:新建数据库连接
第三步:创建 用于执行静态SQL语句并返回它所生成结果 的对象
第四步:执行SQL 、获取返回结果并遍历

(希望你看完每一步讲解,自己动手完成一下)


第一步:注册驱动
向 DriverManager 注册给定驱动程序(可以注册多个不同的驱动程序)。

(1)为什么要注册驱动程序:
为了与特定的数据源相连,JDBC必须加装相应的驱动程序。
当获取连接时,DriverManager会试图从已注册的JDBC驱动程序集中选择一个适当的驱动程序。

(2)涉及到的两个类:
com.mysql.jdbc.Driver:
每个驱动程序类必须实现的接口。核心方法connect(String url, Properties info) 主要用于实现建立与数据库连接的底层协议。

javaw.sql.DriverManager:
管理一组 JDBC 驱动程序的基本服务。用来处理装载驱动程序并为创建新的数据库连接提供支持。

(3)如何操作
以MySQL为例:Class.forName("com.mysql.jdbc.Driver");
MySQL中你会遇到有些代码中注册的驱动不同:Class.forName("org.gjt.mm.mysql.Driver");
两者区别:
org.gjt.mm.mysql.Driver只是老版本遗留,为了兼容没有删除:
看下org.gjt.mm.mysql.Driver实现便知:
package org.gjt.mm.mysql;


import java.sql.SQLException;


public class Driver extends com.mysql.jdbc.Driver
{
}

(4)为什么这么注册
两点解释:
1、Class.forName -- 调用 forName("X") 将导致命名为 X 的类被初始化。这里的初始化为静态初始化。