c3p0是一个容易使用的,将jdbc3规范和jdbc2中的扩展的功能扩充到传统的JDBC驱动,使其“企业就绪(enterprise-ready)”的类库。特别的,c3p0提供了一系列有用的服务:
[list]
[]提供一些用于获取数据库连接的类,这些类兼容于传统的基于驱动管理器(DriverManager-based)的JDBC驱动和新的 javax.sql.DataSource 视图。
[]透明地池化管理数据库连接和PreparedStatement,数据源包装了传统的驱动,也可以任意地使其脱离池的管理。
[/list]
还有几点需要强调:
[list]
[]c3p0数据源是可引用(Referenceable)并且可序列化(Serializable)的,因此它很适合绑定大量的基于JNDI的命名服务。
[]Statement和ResultSet会随着被池管理的数据库连接或者Statement的失效而被清理。这是为了防止因用户使用延迟策略(用户常用的资源管理策略),仅仅清理数据库连接而造成的资源紧缺现象。
[*]c3p0与定义在JDBC 2和JDBC 3中的方法都兼容(尽管这与类库作者的喜好有冲突)。数据源是用JavaBean风格写的,开放了所有的必须属性和大部分的可选属性(还有一些不标准的属性),提供了无参数的构造方法。所有JDBC中定义的内部接口均被实现了(ConnectionPoolDataSource, PooledConnection, ConnectionEvent-generating Connections, 等等)。你可以将c3p0的类和与其兼容的第三方实现一起使用(虽然并不是所有的c3p0特性都能够起作用)。
[/list]
c3p0希望能够提供一个优秀的J2EE企业级应用的数据源实现。希望您能给我们一些建议,或者帮助我们修复漏洞,等等!
REF:
http://cwiki.ossez.com/pages/viewpage.action?pageId=4719778