所有类


java.sql
类 DriverManager

java.lang.Object
  继承者 java.sql.DriverManager

public class DriverManager
   
   
   
   
   
extends Object

管理一组 JDBC 驱动程序的基本服务。
注:DataSource 接口是 JDBC 2.0 API 中的新增内容,它提供了连接到数据源的另一种方法。使用 DataSource 对象是连接到数据源的首选方法。

作为初始化的一部分,DriverManager 类会尝试加载在 "jdbc.drivers" 系统属性中引用的驱动程序类。这允许用户自定义由他们的应用程序使用的 JDBC Driver。例如,在 ~/.hotjava/properties 文件中,用户可以指定:

 jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver
 
程序还可以在任意时间显式地加载 JDBC 驱动程序。例如,my.sql.Driver 是使用以下语句加载的:
 Class.forName("my.sql.Driver");
 

在调用 getConnection 方法时,DriverManager 会试着从初始化时加载的那些驱动程序以及使用与当前 applet 或应用程序相同的类加载器显式加载的那些驱动程序中查找合适的驱动程序。

从 Java 2 SDK 标准版本 1.3 版开始,只有当已授予适当权限时设置记录流。通常这将使用工具 PolicyTool 完成,该工具可用于授予 permission java.sql.SQLPermission "setLog" 权限。

另请参见:
Driver, Connection

方法摘要
static void deregisterDriver(Driver driver)
          从 DriverManager 的列表中删除一个驱动程序。
static Connection getConnection(String url)
          试图建立到给定数据库 URL 的连接。
static Connection getConnection(String url, Properties info)
          试图建立到给定数据库 URL 的连接。
static Connection getConnection(String url, String user, String password)
          试图建立到给定数据库 URL 的连接。
static Driver getDriver(String url)
          试图查找能理解给定 URL 的驱动程序。
static Enumeration<Driver> getDrivers()
          检索带有当前调用方可以访问的所有当前已加载 JDBC 驱动程序的 Enumeration。
static int getLoginTimeout()
          获得驱动程序试图登录到某一数据库时可以等待的最长时间,以秒为单位。
static PrintStream getLogStream()
          已过时。  
static PrintWriter getLogWriter()
          检索记录写入器。
static void println(String message)
          将一条消息打印到当前 JDBC 记录流中。
static void registerDriver(Driver driver)
          向 DriverManager 注册给定驱动程序。
static void setLoginTimeout(int seconds)
          设置驱动程序试图连接到某一数据库时将等待的最长时间,以秒为单位。
static void setLogStream(PrintStream out)
          已过时。  
static void setLogWriter(PrintWriter out)
          设置由 DriverManager 和所有驱动程序使用的记录/追踪 PrintWriter 对象。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

getLogWriter

public static PrintWriter getLogWriter()
检索记录写入器。应该使用 getLogWritersetLogWriter 方法,而不是使用 get/setlogStream 方法,后者已不建议使用。

返回:
java.io.PrintWriter 对象
从以下版本开始:
1.2
另请参见:
setLogWriter(java.io.PrintWriter)

setLogWriter

public static void setLogWriter(PrintWriter out)
设置由 DriverManager 和所有驱动程序使用的记录/追踪 PrintWriter 对象。

存在一个因为引入 setLogWriter 方法而导致的次版本问题。setLogWriter 方法无法创建将由 getLogStream 返回的 PrintStream 对象,Java 版本不提供后向转换。结果,使用 setLogWriter 的新应用程序以及仍然还使用利用 getLogStream 的 JDBC 1.0 驱动程序的新程序很可能将无法查看由该驱动程序写入的调试信息。

在 Java 2 SDK 标准版 1.3 版中,此方法将查看设置记录流之前是否有 SQLPermission 对象。如果存在 SecurityManager 并且其 checkPermission 方法拒绝设置记录写入器,则此方法将抛出 java.lang.SecurityException

参数:
out - 新的记录/追踪 PrintStream 对象;null 表示禁止记录和追踪
抛出:
SecurityException - 如果安全管理器存在并且其 checkPermission 方法拒绝设置记录写入器
从以下版本开始:
1.2
另请参见:
SecurityManager.checkPermission(java.security.Permission), getLogWriter()

getConnection

public static Connection getConnection(String url,
                                       Properties info)
                                throws SQLException
试图建立到给定数据库 URL 的连接。DriverManager 试图从已注册的驱动程序集中选择一个适当的驱动程序。

参数:
url - jdbc:subprotocol:subname 形式的数据库 url
info - 作为连接参数的任意字符串标记/值对的列表;通常至少应该包括 "user" 和 "password" 属性
返回:
a 到 URL 的连接
抛出:
SQLException - 如果发生数据库访问错误

getConnection

public static Connection getConnection(String url,
                                       String user,
                                       String password)
                                throws SQLException
试图建立到给定数据库 URL 的连接。DriverManager 试图从已注册的驱动程序集中选择一个适当的驱动程序。

参数:
url - jdbc:subprotocol:subname 形式的数据库 url
user - 数据库用户,连接是为该用户建立的
password - 用户的密码
返回:
到 URL 的连接
抛出:
SQLException - 如果发生数据库访问错误

getConnection

public static Connection getConnection(String url)
                                throws SQLException
试图建立到给定数据库 URL 的连接。DriverManager 试图从已注册的驱动程序集中选择一个适当的驱动程序。

参数:
url - jdbc:subprotocol:subname 形式的数据库 url
返回:
到 URL 的连接
抛出:
SQLException - 如果发生数据库访问错误

getDriver

public static Driver getDriver(String url)
                        throws SQLException
试图查找能理解给定 URL 的驱动程序。DriverManager 试图从已注册的驱动程序集中选择一个适当的驱动程序。

参数:
url - jdbc:subprotocol:subname 形式的数据库 URL
返回:
表示可以连接到给定 URL 的驱动程序的 Driver 对象
抛出:
SQLException - 如果发生数据库访问错误

registerDriver

public static void registerDriver(Driver driver)
                           throws SQLException
DriverManager 注册给定驱动程序。新加载的驱动程序类应该调用 registerDriver 方法让 DriverManager 知道自己。

参数:
driver - 将向 DriverManager 注册的新的 JDBC Driver
抛出:
SQLException - 如果发生数据库访问错误

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部