在项目中数据库的连接数量和方式决定着项目的质量,而对于传统的数据库连接方式如果链接的用户数量过大会对服务器造成巨大的压力,最后导致数据库服务重启而使项目崩溃,所以引进了数据库连接池的概念,链接池有以下优点:
1. 资源重用
由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性能开销。在减少系统消耗的基础上,另一方面也增进了系统运行环境的平稳性(减少内存碎片以及数据库临时进程/线程的数量)。
2. 更快的系统响应速度
数据库连接池在初始化过程中,往往已经创建了若干数据库连接置于池中备用。此时连接的初始化工作均已完成。对于业务请求处理而言,直接利用现有可用连接,避免了数据库连接初始化和释放过程的时间开销,从而缩减了系统整体响应时间。
3. 新的资源分配手段
对于多应用共享同一数据库的系统而言,可在应用层通过数据库连接的配置,实现数据库连接池技术,几年钱也许还是个新鲜话题,对于目前的业务系统而言,如果设计中还没有考虑到连接池的应用,那么…….快在设计文档中加上这部分的内容吧。某一应用最大可用数据库连接数的限制,避免某一应用独占所有数据库资源。
4. 统一的连接管理,避免数据库连接泄漏
在较为完备的数据库连接池实现中,可根据预先的连接占用超时设定,强制收回被占用连接。从而避免了常规数据库连接操作中可能出现的资源泄漏。一个最小化的数据库连接池实现
数据链接池实现要先到如两个jar包,dbcp方式链接数据库,先要到如dbcp的jar包,然而dbcp需要pool的包支持,导入这两个包后测试链接链接代码如下:
public class JDBCTest {
/**
*
* @throws SQLException
*/
@Test
public void testDBCP() throws SQLException {
BasicDataSource dataSource = null;
dataSource = new BasicDataSource();
dataSource.setUsername("root");
dataSource.setPassword("root");
dataSource.setUrl("jdbc:mysql://localhost:3306/jdbc");
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
java.sql.Connection connection = dataSource.getConnection();
System.out.println(connection.getClass());
}
}