- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
不错的Java数据库连接池
2009年09月20日 星期日 下午 08:48
虽然现在用Apache Commons DBCP可以非常方便的建立数据库连接池,但是像这篇文章把数据库连接池的内部原理写的这么透彻,注视这么完整,真是非常难得,让开发人员可以更深层次的理解数据库连接池,真是非常感谢这篇文章的作者。
import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.Driver;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import java.util.Enumeration;import java.util.Vector;
public class ConnectionPool {
private String jdbcDriver = ; // 数据库驱动
private String dbUrl = ; // 数据 URL
private String dbUsername = ; // 数据库用户名
private String dbPassword = ; // 数据库用户密码
private String testTable = ; // 测试连接是否可用的测试表名,默认没有测试表
private int initialConnections = 10; // 连接池的初始大小
private int incrementalConnections = 5;// 连接池自动增加的大小
private int maxConnections = 50; // 连接池最大的大小
private Vector connections = null; // 存放连接池中数据库连接的向量 , 初始时为 null
// 它中存放的对象为 PooledConnection 型
/**
* 构造函数
*
* @param jdbcDriver String JDBC 驱动类串
* @param dbUrl String 数据库 URL
* @param dbUsername String 连接数据库用户名
* @param dbPassword String 连接数据库用户的密码
*
*/
public ConnectionPool(String jdbcDriver,String dbUrl,String dbUsername,String dbPassword) {
???????? this.jdbcDriver = jdbcDriver;???????? this.dbUrl = dbUrl;???????? this.dbUsername = dbUsername;???????? this.dbPassword = dbPassword;
}
/**
* 返回连接池的初始大小
*
* @return 初始连接池中可获得的连接数量
*/
public int getInitialConnections() {
???????? return this.initialConnections;
}
/**
* 设置连接池的初始大小
*
* @param 用于设置初始连接池中连接的数量
*/
public void setInitialConnections(int initialConnections) {
???????? this.initialConnections = initialConnections;
}
/**
* 返回连接池自动增加的大小 、
*
* @return 连接池自动增加的大小
*/
public int getIncrementalConnections() {
???????? return this.incrementalConnections;
}
/**
* 设置连接池自动增加的大小
* @param 连接池自动增加的大小
*/
public void setIncrementalConnections(int incrementalConnections) {
???????? this.incrementalConnections = incrementalConnections;
}
/**
* 返回连接池中最大的可用连接数量
* @return 连接池中最大的可用连接数量
*/
public int getMaxConnections() {
???????? return this.maxConnections;
}
/**
*
您可能关注的文档
- i1声波的产生和传播(教案)1.doc
- HyperMesh学习的一些建议:.doc
- INDEPENDENCE OF CENTRAL BANK AND INFLATION.doc
- inference.doc
- informix精华集锦.doc
- initial catalog与database的区别.doc
- Information and Software Technology European Journal of Operational Research.doc
- Initial Job training formBellboy0711更新版.doc
- Initial Job training formConcierge更新版0712.doc
- InfoforcandversionChi.doc
最近下载
- 基于学科核心素养的高中语文大单元教学.docx VIP
- 网络货运平台整体设计方案.docx VIP
- 医学课件-第五章 血管内皮细胞功能不全与疾病.pptx VIP
- 妊娠合并贫血试题附有答案.docx VIP
- 2025年全国统一高考英语试卷(新课标Ⅰ卷)含答案 .pdf VIP
- 10X-Genomics单细胞转录组.pptx VIP
- 2024年中考生物复习:105个初中生物易错字汇总(全国通用).pdf VIP
- DB37_T5116-2018:装配式竖向部件临时斜支撑应用技术规程.pdf VIP
- 网络货运平台整体设计方案.pptx VIP
- 2025年高考历史新课标卷真题试卷及答案.docx VIP
文档评论(0)