DataSource 接口介绍 一、DataSource 接口是一个更好的连接数据源的方法: JDBC1.0 是原来是用 DriverManager 类来产生一个对数据源的连接。JDBC2.0 用一种替代的方法,使用 DataSource 的实现,代码变的更小巧精致,也更容易控制。 一个 DataSource 对象代表了一个真正的数据源。根据 DataSource 的实现方法,数据源既可以是从关系数据库,也电子表格,还可以是一个表格形式的文件。当一个 DataSource对象注册到名字服务中,应用程序就可以通过名字服务获得 DataSource 对象,并用它来产生一个与 DataSource 代表的数据源之间的连接。 关于数据源的信息和如何来定位数据源,例如数据库服务器的名字,在哪台机器上,端口号等等,都包含在 DataSource 对象的属性里面去了。这样,对应用程序的设计来说是更方便了,因为并不需要硬性的把驱动的名字写死到程序里面去。通常驱动名字中都包含了驱动提供商的名字,而在 DriverManager 类中通常是这么做的。如果数据源要移植到另一个数据库驱动中,代码也很容易做修改。所需要做的修改只是更改 DataSource 的相关的属性。而使用 DataSource 对象的代码不需要做任何改动。 由系统管理员或者有相应权限的人来配置 DataSource 对象。配置 DataSource,包括设定 DataSource 的属性,然后将它注册到 JNDI 名字服务中去。在注册 DataSource 对象的的过程中,系统管理员需要把 DataSource 对象和一个逻辑名字关联起来。名字可以是任意的,通常取成能代表数据源并且容易记住的名字。在下面的例子中,名字起为:InventoryDB,按照惯例,逻辑名字通常都在 jdbc 的子上下文中。这样,逻辑名字的全名就是:jdbc/ InventoryDB。 一旦配置好了数据源对象,应用程序设计者就可以用它来产生一个与数据源的连接。下面的代码片段示例了如何用 JNDI 上下文获得一个一个数据源对象,然后如何用数据源对象产生一个与数据源的连接。开始的两行用的是 JNDI API,第三行用的才是 JDBC 的 API: Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("jdbc/InventoryDB"); Connection con = ds.getConnection("myPassword", "myUserName"); 在一个基本的 DataSource 实现中,DataSource.getConnection 方法返回的 Connection 对象和用 DriverManager.getConnection 方法返回的 Connection 对象是一样的。因为 DataSource提供...