在做数据库链接的时候,发现原来的jdbc根本不能满足程序中大量用户的连接请求,于是开始使用数据库连接池。原因在于建立数据库链接是一个非常耗时的行为,所以使用数据库连接池预先同数据库建立一些链接,放在内存中,应用程序需要建立数据库连接时,直接到连接池中申请一个就行,用完之后再放回去。
Many Apache projects support interaction with a relational database. Creating a new connection for each user be time consuming(often requiring multiple seconds of clock time), in order to perform a database transaction that might take millseconds. Opening a connection per user can be unfeasible in a publicly-hosted Internet application where the number of simultaneous users can be very large.Accordingly, developers often wish to share a "pool" of open connections between all of the application's current users. The number of users actually performing a request at any given time is usually a very small percentage of the total number of active users, and during request processing is the only time that a database connection is required . The application itself logs into the DBMS, and handles any user account issues internally.
There are several Database Connection Pools already available, both within Apache products and elsewhere. This Commons package provides an opportunity to coordinate the efforts required to create and maintain an efficient, feature-rich package under the ASF license.
这些是apache DBCP 的介绍性内容,解释了为什么需要连接池的内容;
我在这里使用了BoneCP作为数据库连接池提供端平台。实现方式在其帮助文档上也有,按照这个过程来建立连接池就可以了,当然关于boneCP 的使用还有很多内容和复杂的东西。可以根据boneCP API深入的学习:
这里引用一下:
This document describes the API of BoneCP. Usage is simple:
- Load the JDBC driver or provide a datasource.
- Configure BoneCP (via a datasource or manually)
- Call pool.getConnection() or pool.getAsyncConnection()
The example below sets up the connection pool (manually) and obtains a connection. For clarity it omits exception handling.
// load the database driver (make sure this is in your classpath!)
Class.forName("org.hsqldb.jdbcDriver");
// setup the connection pool
BoneCPConfig config = new BoneCPConfig();
// jdbc url specific to your database, eg jdbc:mysql://127.0.0.1/yourdb
config.setJdbcUrl("jdbc:hsqldb:mem:test");
config.setUsername("sa");
config.setPassword("");
config.setMinConnectionsPerPartition(5);
config.setMaxConnectionsPerPartition(10);
config.setPartitionCount(1);
connectionPool = new BoneCP(config); // setup the connection pool
connection = connectionPool.getConnection(); // fetch a connection
if (connection != null){
System.out.println("Connection successful!");
Statement stmt = connection.createStatement();
// do something with the connection.
ResultSet rs = stmt.executeQuery("SELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS");
while(rs.next()){
System.out.println(rs.getString(1)); // should print out "1"'
}
}
connection.close(); // close the connection
connectionPool.shutdown(); // shutdown connection pool.
分享到:
相关推荐
bonecp数据库连接池jar包0.7.1: bonecp-0.7.1.RELEASE.jar bonecp-provider-0.7.1-rc2.jar bonecp-spring-0.7.1.RELEASE.jar
BoneCP是一款高效、轻量级的Java数据库连接池实现,它的源码分析对于我们理解数据库连接池的工作原理,优化数据库性能以及进行二次开发具有重要意义。 首先,我们需要了解数据库连接池的基本概念。数据库连接池是...
骨CP(BoneCP)是一款高性能、轻量级的开源Java数据库连接池,它以其高效的并发性能和优秀的资源管理而受到开发者的青睐。本教程将深入探讨骨CP的基本概念、安装配置、使用方法以及优化策略。 一、骨CP简介 骨CP是...
- DBCP:DBCP是Apache提供的连接池,性能较BoneCP低,但在简单应用中足够使用。 - HikariCP:HikariCP是目前广泛认为的性能最好的连接池,但BoneCP在某些特定的并发场景下仍有竞争力。 5. **注意事项**: - 连接...
采用bonecp数据库连接池封装了Jdbc,当时也是网上下载了一份代码,发现不能用,只好自己修改代码,现在这个代码是可以直接运行的,测试用的Sql Server 2008,表很简单,就四个字段
** BoneCP 连接池学习笔记 ** BoneCP 是一个高效、轻量级的 Java 数据库连接池(JDBC Connection Pool)实现。它在性能上优于其他同类连接池,如...阅读 "BoneCP 连接池.doc" 文件,可以获取更详细的配置和使用指导。
Java数据库连接池(Database Connection Pool)是Java应用中用于管理数据库连接的重要技术,它通过复用已存在的数据库连接,减少了创建和销毁连接的开销,从而显著提升了应用程序的性能和效率。BoneCP是一款高效的...
基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库...
在Java开发中,数据库连接池(Database Connection Pool)是一种重要的技术,它提高了应用程序处理数据库连接的效率和性能。本实例源码是关于BoneCP数据库连接池的实现,它是一个高效且轻量级的连接池库,适用于Java...
BoneCP 是由 Jeff Smith 创建的一个开源数据库连接池,它设计的目标是提供比 C3P0 和 DBCP 更高的性能。其官方主页提供详细的文档和下载信息,API 文档则包含了所有类和接口的详细说明,便于开发者使用和集成。 2....
在标题中提到的 "bonecp-0.8.0.RELEASE.jar" 是BoneCP连接池的一个特定版本,版本号为0.8.0.RELEASE。 描述中提到了几个相关的JAR文件,它们分别是: 1. **bonecp.jar**:这是BoneCP的核心库文件,包含了连接池的...
应该是JAVAA里面最好最稳定最快的数据库连接池库bonecp-0.8.0,大家可以下载使用使用
bonecp-0.8.1-20131105.191813-1.jar bonecp-jdk-compat-0.8.1-20131105.191752-1.jar bonecp-provider-0.8.1-20131105.191842-1.jar slf4j-api-1.7.7.jar slf4j-log4j12-1.7.7.jar
BoneCP 的主要工作原理是通过创建一个连接池,预先在内存中准备一定数量的数据库连接,当应用需要连接时,可以从池中快速获取,用完后归还,而不是每次都创建新的连接。`com.jolbox.bonecp`包下的类,如` BoneCP...
骨CP(BoneCP)是一款高性能的Java数据库连接池(JDBC Connection Pool)库,它以其高效性能和轻量级的设计而受到开发者的欢迎。在某些测试中,BoneCP被证明比C3P0快约25倍,这使得它成为在高并发场景下优化数据库...
使用BoneCP连接池,通常需要以下jar文件: - `bonecp.jar`:BoneCP主库,包含了连接池的核心实现。 - `slf4j-api.jar`:简单日志门面(SLF4J),用于记录 BoneCP 的运行日志,可以与各种日志框架集成。 - `...
总的来说,`基于java的数据库连接池 BoneCP.zip`是一个包含BoneCP连接池实现及相关配置的压缩包。通过配置`bonecp-default-config.xml`,开发者可以定制适合其应用需求的数据库连接池行为。同时,`jsr166y`、`com`和...
BoneCP_Demo 是一个示例项目,展示了如何在Java应用中集成并使用BoneCP连接池进行数据库操作。通过理解和实践这个Demo,开发者可以更好地理解JDBC连接池的工作原理,以及如何利用BoneCP提升数据库操作的性能和效率...
在使用数据库连接池时,常见的连接池实现有DBCP、C3p0、TomcatJdbcPool、BoneCP和Druid等。以DBCP为例,使用它需要导入commons-dbcp.jar和commons-pool.jar包。在Maven项目中,需要在pom.xml配置文件中添加相应的...