java应用程序-----JDBC API-----JDBC驱动程序----JDBC驱动程序服务器----本机驱动程序----数据源
1、Driver接口:每个数据库驱动程序必须实现Driver接口。注册一个驱动程序。如果使用JDBC Driver这样装载:
import java.sql.*;
//装载mysql驱动:
Class.forName("com.mysql.jdbc.Driver");//显示的加载驱动程序类。
2、DriverManager
DriverManager(驱动程序管理器)类是JDBC(Java数据库连接)的管理层,作用于用户和驱动程序之间。DriverManager类跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。另外,Drivermanager类也 处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等事务。
当DriverManager激发getConnection()方法时,DriverManager类首先从它已加载的驱动程序池中找到一个可以接受该数据库URL的驱动程序,然后请求该驱动程序使用相关的数据库URL去连接到数据库中。于是,getConnection()方法建立了与数据库的连接。
DriverManager中的一个重要的方法getConnection(parameter...),在编程时通过这个方法来获得一个连接。有几种重载方法,如下:
1) static Connection getConnection(String url);调用此方法时,DriverManager将在已注册的驱动中选择恰当的驱动程序来建立连接。URL:jdbc:subprotocol:subname.
2) static Connection getConnection(String url,Properties info);提供了一些属性,这些属性连接特定的数据库需要,至少包含user和password属性。
3) static Connection getConnection(String url,String user,String password);连接到指定的URL的数据库,使用用户名为user,密码为password.
URL的解释:jdbc:<subprotocol>:<subname>
协议:jdbc表示协议,它是惟一的,JDBC只有这一种协议。
子协议:主要用于识别数据库驱动程序,也就是说,不同的数据库驱动的子协议不同。
子名:它属于专门的驱动,不同的专有驱动程序可以采用不同的实现。
如:Connection con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost/source", "root", "root");
3、Connection
Connection对象代表与数据库的连接,也就是在已经加载的Driver和数据库之间建立连接。必须创建一个Connection的实例,其中包括数据库的信息。