在javax.sql包中,定义了DataSource接口,DataSource 接口由驱动程序供应商来实现,利用DataSource 来建立数据库的连接,不需要在客户程序中加载JDBC驱动,也不需要使用DataManager类.其功能的实现主要由JNDI服务器来查询得到DataSource对象,然后调用DataSource对象的getConnection( )方法来建立数据库的连接.主要的代码为:
import
javax.sql.
*
,javax.naming.
*
,java.sql.
*
;
......
Context ctx = new InitialContext( );
DataSorce ds = (DataSource)ctx.lookup( " java:comp/env/recousename " );
Connection conn = ds.getConnection( );
......
conn.close( );
...
......
Context ctx = new InitialContext( );
DataSorce ds = (DataSource)ctx.lookup( " java:comp/env/recousename " );
Connection conn = ds.getConnection( );
......
conn.close( );
...
javax.naming.Context 接口表示一个命名上下文.在这个接口中,定义了将对象和名字绑定,以及通过名字查询对象的方法.查询一个命名大会的对象是通过调用Context接口的liikup( )方法,如下所示:
Object lookup(String name) throws NamingException
javax.naming.InitialContext是Context接口的实现类.
javax.sql.DataSource接口有3种类型的实现
- 基本的实现--产生一个标准的类型的实现
- 连接池的实现--产生一个自动参与到连接池中的连接对象.这种实现对象和一个中间层连接池管理器一起工作
- 分布式事务的实现--产生一个用于分布式事务的连接对象,这种对象几乎总是参与到连接池中.
连接连接池的理解:
连接池技术预先建立多个数据库连接对象,然后将连接对象保存到连接中,当客户请求到来时,从池中取出一个连接为客户对象服务,当请求完成后,客户程序调用close( )方法,将连接对象放回连接池中.这种数据库连接方式重复利用的灵气库连接,提高对请求的响应时间和服务性能.