阅读(1640) (12)

鸿蒙OS DataSource

2022-11-02 10:16:22 更新

DataSource

public interface DataSource
extends CommonDataSource, Wrapper

用于连接到此 DataSource 对象所代表的物理数据源的工厂。 作为 DriverManager 工具的替代方法,DataSource 对象是获取连接的首选方法。 实现 DataSource 接口的对象通常会向基于 Java™ Naming and Directory (JNDI) API 的命名服务注册。

DataSource 接口由驱动程序供应商实现。 有三种类型的实现:

  1. 基本实现——产生一个标准的 Connection 对象
  2. 连接池实现——生成一个将自动参与连接池的连接对象。 此实现与中间层连接池管理器一起使用。
  3. 分布式事务实现——生成一个可用于分布式事务并且几乎总是参与连接池的 Connection 对象。 此实现与中间层事务管理器一起使用,并且几乎总是与连接池管理器一起使用。

DataSource 对象具有可在必要时修改的属性。 例如,如果将数据源移动到不同的服务器,则可以更改服务器的属性。 好处是因为可以更改数据源的属性,因此无需更改访问该数据源的任何代码。

通过 DataSource 对象访问的驱动程序不会将自身注册到 DriverManager。 相反,通过查找操作检索 DataSource 对象,然后用于创建 Connection 对象。 通过基本实现,通过 DataSource 对象获得的连接与通过 DriverManager 工具获得的连接相同。

DataSource 的实现必须包含一个公共的无参数构造函数。

Since:

1.4

方法总结

修饰符和类型 方法 描述
Connection getConnection() 尝试与此 DataSource 对象所代表的数据源建立连接。
Connection getConnection(String username, String password) 尝试与此 DataSource 对象所代表的数据源建立连接。
从接口 javax.sql.CommonDataSource 继承的方法
getLoginTimeout, getLogWriter, getParentLogger, setLoginTimeout, setLogWriter
从接口 java.sql.Wrapper 继承的方法
isWrapperFor, unwrap

方法详情

getConnection

Connection getConnection() throws SQLException

尝试与此 DataSource 对象所代表的数据源建立连接。

返回:

与数据源的连接

Throws:

Throw名称 Throw描述
SQLException 如果发生数据库访问错误
SQLTimeoutException 当驱动程序确定已超过 setLoginTimeout 方法指定的超时值并至少尝试取消当前数据库连接尝试时

getConnection

Connection getConnection(String username, String password) throws SQLException

尝试与此 DataSource 对象所代表的数据源建立连接。

参数:

参数名称 参数描述
username 代表其建立连接的数据库用户
password 用户密码

返回:

与数据源的连接

Throws:

Throw名称 Throw描述
SQLException 如果发生数据库访问错误
SQLTimeoutException 当驱动程序确定已超过 setLoginTimeout 方法指定的超时值并至少尝试取消当前数据库连接尝试时

Since:

1.4