• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > JDBC-数据连接池的使用

JDBC-数据连接池的使用

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了JDBC,数据连接池等相关知识,希望本文的分享对您有所帮助

数据库连接池(connection pool)

在昨天的练习中每一次练习都需要与数据库建立连接,完成时断开连接,然而当处理的数据量特别的时候,就很耗费时间、降低效率,今天我们学习使用连接池,将连接放在连接池中,需要使用的时候从中取出,使用完毕放回池中并不是断开连接。

数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。
数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。
为解决传统开发中的数据库连接问题,可以采用数据库连接池技术。
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。

DBCP连接池

首先我们使用DBCP连接池(一个免费开源的连接池),我们需要先将commons-dbcp-1.4.jar文件放置当前工程下,并配置环境(添加到Build Path)。下面通过一个程序了解如何使用DBCP连接池:


我们在这里和之前一样需要创建一个“dbcp.properties”文件,将必要的参数放入其中,其内容如下,(此文件放在当前工程下),DBCP连接池使用这个文件可以完成mysql、oracle的连接池的建立,但是每次只能建立一个,另一个需要注释起来。

driverClassName = com.mysql.jdbc.Driver

url = jdbc:mysql://127.0.0.1:3306/company

username = root

password = 123456


initialSize = 5

maxActive = 50

maxIdle = 10


#driverClassName = oracle.jdbc.driver.OracleDriver

#url = jdbc:oracle:thin:@127.0.0.1:1521:orcl

#username = scott

#password = tiger


package com.atguigu.jdbc;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
import org.junit.Test;

public class DBCPTest {
	@Test
	public void test2() throws Exception {
		Properties properties = new Properties();
		properties.load(new FileInputStream("dbcp.properties"));
		DataSource dataSource = BasicDataSourceFactory.createDataSource(properties);
		System.out.println("inital:" + ((BasicDataSource)dataSource).getInitialSize());
		System.out.println("getMaxActive:" + ((BasicDataSource)dataSource).getMaxActive());
		System.out.println("getMaxIdle:" + ((BasicDataSource)dataSource).getMaxIdle());
		Connection connection = dataSource.getConnection();
		System.out.println(connection);
		connection.close();
	}
}


C3P0连接池

下面我们学习一个功能更加强大的连接池,C3P0(仍然是一个免费开源的连接池),如上我们需要先将commons-dbcp-1.4.jar文件放置当前工程下,并配置环境(添加到Build Path)。

这里通过一个程序了解如何使用DBCP连接池:

如同DBCP连接池,我们需要创建一个“c3p0-config.xml”文件,将必要的参数放入其中,其内容如下,(此文件放在当工程的src目录)


<c3p0-config>
<named-config name="mysql-config">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/school</property>
<property name="user">root</property>
<property name="password">123456</property>
<property name="acquireIncrement">5</property>
<property name="initialPoolSize">5</property>
<property name="minPoolSize">5</property>
<property name="maxPoolSize">50</property>
<property name="maxStatements">0</property>
<property name="maxStatementsPerConnection">5</property>
</named-config>
<named-config name="orcale-config">
<property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
<property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/school</property>
<property name="user">root</property>
<property name="password">123456</property>
</named-config>
</c3p0-config>

DBCP连接池使用这个文件可以完成mysql、oracle的连接池的建立,每次只能建立一个,但是另一个需要注释起来。因为我们是根据<named-config name="mysql-config"> 名建立连接,


package com.atguigu.jdbc;

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.S
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • jdbc操作数据库的基本流程详解
  • 深入JDBC sqlserver连接写法的详解
  • JDBC数据库的使用操作总结
  • jdbc调用mysql存储过程实现代码
  • MyEclipse通过JDBC连接MySQL数据库基本介绍
  • MySQL数据库服务器逐渐变慢分析与解决方法分享
  • mysql数据库replace、regexp的用法
  • mysql数据库从服务器移植到个人PC的方法
  • 不使用MySQL数据库的五个给力理由解析
  • JDBC连接MySQL出现的问题

相关文章

  • 2017-05-11配置mysql允许远程连接的方法
  • 2017-05-11高性能MySQL读书笔记 找出谁持有锁
  • 2018-12-05mysql数据库进行连接的简单示例代码
  • 2018-12-05SQL Server 分页查询存储过程代码
  • 2018-12-05详细了解Mysql的基础操作
  • 2018-12-05在.Net中操作SQLite数据库的详细优点有哪些?
  • 2017-05-11网站前端和后台性能优化的34条宝贵经验和方法
  • 2018-12-05内网ssh/mysql登录缓慢的解决方法
  • 2018-12-05html-php登陆页面的代码,md5加密
  • 2018-12-05详解MySql5.6.35winx64安装详细教程

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Mac上实现终端管理MySQL数据库
    • 更改SQL Server更改当前数据库的所有者:sp_changedbowner
    • 如何解决mysql重装失败方法介绍
    • python 监控日志并发送邮件报警
    • 规范化的SQL数据修改语句总结
    • SQL集合函数中case when then 使用技巧
    • mybatis属性详解
    • MySQL 数据库双向镜像、循环镜像(复制)
    • SQL Server下几个危险的扩展存储过程
    • 三种实现方法实现数据表中遍历寻找子节点

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有