public interface DataSource extends CommonDataSource, Wrapper
一个连接到这个DataSource
对象所代表的物理数据源的工厂。 DriverManager
设备的DriverManager
, DataSource
对象是获取连接的首选方法。 实现DataSource
接口的对象通常将基于Java“命名和目录(JNDI)API”的命名服务注册。
DataSource
接口由驱动程序供应商实现。 有三种类型的实现:
Connection
对象 Connection
对象。 此实现与中间层连接池管理器配合使用。 Connection
对象,并且几乎总是参与连接池。 此实现与中间层事务管理器一起工作,并且几乎总是使用连接池管理器。 一个DataSource
对象具有必要时可以修改的属性。 例如,如果将数据源移动到其他服务器,则可以更改服务器的属性。 好处是因为可以更改数据源的属性,所以不需要更改访问该数据源的任何代码。
经由一个访问的驱动器DataSource
对象不与寄存器本身DriverManager
。 相反, DataSource
对象虽然查找操作检索,然后用于创建Connection
对象。 通过基本实现,通过DataSource
对象获得的连接与通过DriverManager
工具获得的连接DriverManager
。
DataSource的DataSource
必须包括一个public no-arg构造函数。
Modifier and Type | Method and Description |
---|---|
Connection |
getConnection()
尝试建立与此
DataSource 对象所代表的数据源的连接。
|
Connection |
getConnection(String username, String password)
尝试建立与该
DataSource 对象所代表的数据源的连接。
|
getLoginTimeout, getLogWriter, getParentLogger, setLoginTimeout, setLogWriter
isWrapperFor, unwrap
Connection getConnection() throws SQLException
尝试建立与此DataSource
对象所代表的数据源的连接。
SQLException
- 如果发生数据库访问错误
SQLTimeoutException
- 当驱动程序确定已经超过
setLoginTimeout
方法指定的超时值并且至少尝试取消当前数据库连接尝试
Connection getConnection(String username, String password) throws SQLException
尝试建立与此DataSource
对象所代表的数据源的连接。
username
- 正在连接的数据库用户
password
- 用户密码
SQLException
- 如果发生数据库访问错误
SQLTimeoutException
- 当驱动程序确定已经超过
setLoginTimeout
方法指定的超时值并且至少尝试取消当前数据库连接尝试