DBCP数据库连接池实例(2种方法实现)

2024-05-23 07:32

本文主要是介绍DBCP数据库连接池实例(2种方法实现),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一种实现方式:不利用配置文件 关键代码如下:

package tan.com;import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
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 TestJDBC {/*** 如何使用DBCP数据库连接呢?* 1、加入2个jar包commons pool* 2、创建数据库连接池实例* 3、创建常用的属性* 4、从数据源中获取数据库连接* @throws Exception */@Testpublic void testDPCP() throws SQLException{BasicDataSource dataSource=null;//1.创建DBCP数据库源实例dataSource=new BasicDataSource();//2.为数据源实例指定必须的属性dataSource.setUsername("root");dataSource.setPassword("1234");dataSource.setUrl("jdbc:mysql://localhost:3306/tan");dataSource.setDriverClassName("com.mysql.jdbc.Driver");//3。指定数据源的一些可选的属性//1)指定数据库连接池中初始化连接数的个数dataSource.setInitialSize(5);//2)指定最大的连接数:同一时刻同时向数据库申请的连接数//最大空闲数,放洪峰过后,连接池中的连接过多,dataSource.setMaxActive(5);//3)指定最小连接数:数据库空闲状态下所需要保留的最小连接数//防止当洪峰到来时,再次申请连接引起的性能开销;dataSource.setMinIdle(2);//4)最长等待时间:等待数据库连接的最长时间,单位为毫秒,超出将抛出异常dataSource.setMaxWait(1000*5);//4.从数据源中获取数据库连接Connection connection=dataSource.getConnection();System.out.println(connection.getClass());}}
第二种方式使用配置文件:

/*** 1. 加载 dbcp 的 properties 配置文件: 配置文件中的键需要来自 BasicDataSource的属性.* 2. 调用 BasicDataSourceFactory 的 createDataSource 方法创建 DataSource* 实例* 3. 从 DataSource 实例中获取数据库连接. * @throws Exception */@Testpublic void testDBCPWithDataSourceFactory() throws Exception{Properties properties = new Properties();InputStream inStream = TestJDBC.class.getClassLoader().getResourceAsStream("dbcp.properties");properties.load(inStream);DataSource dataSource = BasicDataSourceFactory.createDataSource(properties);System.out.println( dataSource.getConnection()); }
配置文件属性:dbcp.properties

username=root
password=1234
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///tan


initialSize=10
maxActive=50
minIdle=5
maxWait=5000

运行结果:

jdbc:mysql:///tan, UserName=root@localhost, MySQL Connector Java


2014年5月14日 星期三笔记



这篇关于DBCP数据库连接池实例(2种方法实现)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/996190

相关文章

Java实现将Markdown转换为纯文本

《Java实现将Markdown转换为纯文本》这篇文章主要为大家详细介绍了两种在Java中实现Markdown转纯文本的主流方法,文中的示例代码讲解详细,大家可以根据需求选择适合的方案... 目录方法一:使用正则表达式(轻量级方案)方法二:使用 Flexmark-Java 库(专业方案)1. 添加依赖(Ma

使用EasyExcel实现简单的Excel表格解析操作

《使用EasyExcel实现简单的Excel表格解析操作》:本文主要介绍如何使用EasyExcel完成简单的表格解析操作,同时实现了大量数据情况下数据的分次批量入库,并记录每条数据入库的状态,感兴... 目录前言固定模板及表数据格式的解析实现Excel模板内容对应的实体类实现AnalysisEventLis

使用国内镜像源优化pip install下载的方法步骤

《使用国内镜像源优化pipinstall下载的方法步骤》在Python开发中,pip是一个不可或缺的工具,用于安装和管理Python包,然而,由于默认的PyPI服务器位于国外,国内用户在安装依赖时可... 目录引言1. 为什么需要国内镜像源?2. 常用的国内镜像源3. 临时使用国内镜像源4. 永久配置国内镜

Mybatis从3.4.0版本到3.5.7版本的迭代方法实现

《Mybatis从3.4.0版本到3.5.7版本的迭代方法实现》本文主要介绍了Mybatis从3.4.0版本到3.5.7版本的迭代方法实现,包括主要的功能增强、不兼容的更改和修复的错误,具有一定的参考... 目录一、3.4.01、主要的功能增强2、selectCursor example3、不兼容的更改二、

VSCode中C/C++编码乱码问题的两种解决方法

《VSCode中C/C++编码乱码问题的两种解决方法》在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码,这种编码不一致会导致在VSC... 目录问题方法一:通过 Code Runner 插件调整编码配置步骤方法二:在 PowerShell

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

C/C++随机数生成的五种方法

《C/C++随机数生成的五种方法》C++作为一种古老的编程语言,其随机数生成的方法已经经历了多次的变革,早期的C++版本使用的是rand()函数和RAND_MAX常量,这种方法虽然简单,但并不总是提供... 目录C/C++ 随机数生成方法1. 使用 rand() 和 srand()2. 使用 <random

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自