public class DriverManager extends Object
管理一套JDBC drivers.
注:的DataSource
接口的基本服务,新的JDBC 2 API,提供了另一种方式来连接数据源。一个DataSource
使用对象是连接到数据源的首选手段。
作为其初始化部分的DriverManager
班将尝试加载驱动程序类的“JDBC驱动系统属性引用的。”。这允许用户定制他们的应用程序使用JDBC驱动程序。例如,在你的~ /。①/属性文件可以指定:
jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver
的DriverManager
方法getConnection
和getDrivers
已得到增强,支持java标准版Service Provider机制。JDBC 4驱动程序必须包含文件META-INF/services/java.sql.Driver
。这个文件包含JDBC驱动程序实现java.sql.Driver
名称。例如,加载my.sql.Driver
类的META-INF/services/java.sql.Driver
文件将包含的条目:
my.sql.Driver
应用程序不再需要显式加载JDBC驱动程序使用Class.forName()
。现有的程序目前加载JDBC驱动程序使用Class.forName()
将继续工作,无需修改。
当方法getConnection
称,该DriverManager
将试图找到一个合适的驱动程序从那些装在初始化和那些显式使用同一个类装载器当前的applet或应用程序加载。
从java 2 SDK,标准版,1.3版,一个记录流可以设置只有在适当的许可。通常这将做工具的政策工具,可以用来给permission java.sql.SQLPermission "setLog"
。
Driver
,
Connection
Modifier and Type | Method and Description |
---|---|
static void |
deregisterDriver(Driver driver)
移除指定的驱动器从注册司机
DriverManager 名单。
|
static Connection |
getConnection(String url)
试图建立一个连接到给定的数据库的网址。
|
static Connection |
getConnection(String url, Properties info)
试图建立一个连接到给定的数据库的网址。
|
static Connection |
getConnection(String url, String user, String password)
试图建立一个连接到给定的数据库的网址。
|
static Driver |
getDriver(String url)
试图找到一个了解给定的网址的驱动程序。
|
static Enumeration<Driver> |
getDrivers()
检索一个枚举所有当前加载JDBC驱动的电流来电访问。
|
static int |
getLoginTimeout()
获取在试图登录到数据库时,驱动程序可以等待的最大时间秒数。
|
static PrintStream |
getLogStream()
过时的。
使用
getLogWriter
|
static PrintWriter |
getLogWriter()
检索日志写入器。
|
static void |
println(String message)
打印一个消息给当前JDBC日志流。
|
static void |
registerDriver(Driver driver)
注册了
DriverManager 司机。
|
static void |
registerDriver(Driver driver, DriverAction da)
注册了
DriverManager 司机。
|
static void |
setLoginTimeout(int seconds)
设置一个驱动程序在一次试图连接到一个数据库时,一旦驱动程序已被确定的最大时间。
|
static void |
setLogStream(PrintStream out)
过时的。
使用
setLogWriter
|
static void |
setLogWriter(PrintWriter out)
设置日志/跟踪
PrintWriter 对象所使用的
DriverManager 和所有的司机。
|
public static PrintWriter getLogWriter()
getLogWriter
和
setLogWriter
方法应该用来代替的
get/setlogStream
方法,这是过时的。
java.io.PrintWriter
对象
setLogWriter(java.io.PrintWriter)
public static void setLogWriter(PrintWriter out)
PrintWriter
对象所使用的
DriverManager
和所有的司机。
有一个小的版本问题的方法setLogWriter
介绍创建。方法setLogWriter
不能创建一个PrintStream
对象将由getLogStream
--- java平台并没有提供一个反向转换回来。作为一个结果,一个新的使用setLogWriter
也使用JDBC 1驱动程序使用getLogStream
可能不会看到的文字信息应用驱动程序调试。
从java 2 SDK,标准版,版本1.3,该方法检查发现有一个SQLPermission
对象在设置测流。如果一个SecurityManager
存在,checkPermission
法否认设置日志的作家,这一方法抛出一个java.lang.SecurityException
。
out
-新记录/跟踪
PrintStream
对象;
null
禁用日志记录和跟踪
SecurityException
-如果存在一个安全管理方法及其
checkPermission
否认设置日志作家
SecurityManager.checkPermission(java.security.Permission)
,
getLogWriter()
public static Connection getConnection(String url, Properties info) throws SQLException
DriverManager
试图选择从注册JDBC驱动程序设定一个适当的驱动程序。
注:如果属性指定的url
部分也在Properties
对象指定,它是实现定义为价值优先。为了获得最大的可移植性,应用程序只需要指定一次属性。
url
-一种形式
jdbc:subprotocol:subname
数据库URL
info
-列表的任意字符串标签/值对作为连接参数;通常至少一个“用户”和“密码”属性应包括
SQLException
-如果一个数据库访问错误或URL是
null
SQLTimeoutException
-当司机已确定由
setLoginTimeout
方法指定超时值已经超过,至少试图取消当前的数据库连接的尝试
public static Connection getConnection(String url, String user, String password) throws SQLException
DriverManager
试图选择从注册JDBC驱动程序设定一个适当的驱动程序。
注:如果user
或password
财产也被指定为url
的一部分,它是实现定义为价值优先。为了获得最大的可移植性,应用程序只需要指定一次属性。
url
-一种形式
jdbc:subprotocol:subname
数据库URL
user
-数据库用户的连接是其代表
password
-用户的密码
SQLException
-如果一个数据库访问错误或URL是
null
SQLTimeoutException
-当司机已确定由
setLoginTimeout
方法指定超时值已经超过,至少试图取消当前的数据库连接的尝试
public static Connection getConnection(String url) throws SQLException
DriverManager
试图选择从注册JDBC驱动程序设定一个适当的驱动程序。
url
-一种形式
jdbc:subprotocol:subname
数据库URL
SQLException
-如果一个数据库访问错误或URL是
null
SQLTimeoutException
-当司机已确定由
setLoginTimeout
方法指定超时值已经超过,至少试图取消当前的数据库连接的尝试
public static Driver getDriver(String url) throws SQLException
DriverManager
试图选择从注册JDBC驱动程序设定一个适当的驱动程序。
url
-一种形式
jdbc:subprotocol:subname
数据库URL
Driver
对象
SQLException
-如果一个数据库访问错误发生
public static void registerDriver(Driver driver) throws SQLException
DriverManager
。新加载驱动程序类要调用的方法
registerDriver
使自己认识到
DriverManager
。如果驱动程序目前已注册,则不采取任何动作。
driver
-新的JDBC驱动程序,将与
DriverManager
注册
SQLException
-如果一个数据库访问错误发生
NullPointerException
-如果
driver
是空的
public static void registerDriver(Driver driver, DriverAction da) throws SQLException
DriverManager
司机。一个新加载驱动程序类要调用的方法
registerDriver
使自己认识到
DriverManager
。如果驱动程序目前已注册,则不采取任何动作。
driver
-新的JDBC驱动程序,将与
DriverManager
注册
da
-
DriverAction
实施时要使用
DriverManager#deregisterDriver
叫做
SQLException
-如果一个数据库访问错误发生
NullPointerException
-如果
driver
是空的
public static void deregisterDriver(Driver driver) throws SQLException
DriverManager
名单。
如果一个null
价值是驱动程序被删除指定的,并没有采取任何行动。
如果存在一个安全管理及其checkPermission
拒绝权限,则会抛出SecurityException
。
如果在注册驱动程序的列表中没有找到指定的驱动程序,则不采取任何动作。如果驱动程序被发现,它将被从注册的驱动程序列表中删除。
如果一个DriverAction
实例时指定了JDBC驱动程序的注册,注销方法将司机从注册驱动程序列表中删除之前调用。
driver
- JDBC驱动程序删除
SQLException
-如果一个数据库访问错误发生
SecurityException
-如果存在一个安全管理及其
checkPermission
方法拒绝许可注销一个司机。
SecurityManager.checkPermission(java.security.Permission)
public static Enumeration<Driver> getDrivers()
注:驱动程序的类名可以发现使用d.getClass().getName()
public static void setLoginTimeout(int seconds)
seconds
-秒登录时间限制;零表示没有限制
getLoginTimeout()
public static int getLoginTimeout()
setLoginTimeout(int)
@Deprecated public static void setLogStream(PrintStream out)
setLogWriter
DriverManager
和所有的司机。
在java 2 SDK,标准版,版本1.3,该方法检查发现有一个SQLPermission
对象在设置测流。如果一个SecurityManager
存在,checkPermission
法否认设置日志的作家,这一方法抛出一个java.lang.SecurityException
。
out
-新记录/跟踪可禁用,设置为
null
;
SecurityException
-如果存在一个安全管理方法及其
checkPermission
否认设置日志流
SecurityManager.checkPermission(java.security.Permission)
,
getLogStream()
@Deprecated public static PrintStream getLogStream()
getLogWriter
DriverManager
和所有的司机。
null
setLogStream(java.io.PrintStream)
public static void println(String message)
message
-日志或跟踪的信息
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.