数据库连接池快速入门
2020-01-15 11:40
1636 查看
为何要使用连接池
我们在日常进行数据库操作的时候,每一次都要申请资源,在使用完成之后释放资源。这种操作是非常浪费资源的做法,我们为了解决的这个问题,就引入了数据库连接池。
数据库连接池
概念:其实就是一个容器(集合),存放数据库连接的容器,
当系统初始化好后,容器被创建,容器会申请一些连接对象,存储在容器中,当用户来访问数据库时,从容其中获取连接对象,用户访问完毕之后,会将连接对象归还容器。
好处:
- 节约资源
- 高效
数据库连接池的实现
1.标准接口:DataSource javax.sql包下的
1.方法:
*获取连接:getConnection()
*归还连接:如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会关闭连接,而是归还连接到连接池。
2.一般我们不自己去实现他,由数据库厂商来实现
1.C3P0
2.Druid:由阿里巴巴提供的数据库连接池
C3P0数据库连接池的使用
1. 导入jar包
一共有两个jar包: 1.mchange-commons-java-0.2.11 2.c3p0-0.9.5.2
2. 定义配置文件
名称:c3p0.properties或者c3p0.xml
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-config> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/day09</property> <property name="user">root</property> <property name="password">root</property> <property name="initialPoolSize">5</property> <!--最大连接数量--> <property name="maxPoolSize">10</property> <!-- 超时时间--> <property name="checkoutTimeout">3000</property> </default-config> <named-config name="mySource"> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/day09</property> <property name="user">root</property> <property name="password">root</property> <property name="initialPoolSize">5</property> <!--最大连接数量--> <property name="maxPoolSize">10</property> <!-- 超时时间--> <property name="checkoutTimeout">3000</property> </named-config> </c3p0-config>
3. 创建核心对象,数据库连接池对象:
ComboPooledDataSource
4. 获取连接:
getConnection()
代码示例:
//1.创建数据库连接池 ComboPooledDataSource cpds = new ComboPooledDataSource(); //2.获取连接 try { con = cpds.getConnection(); } catch (SQLException e) { e.printStackTrace(); } System.out.println(con);
Druid数据库连接池
基本操作和C3P0相同:
1. 导入jar包
2. 定义配置文件
是properties文件,可以叫做任何的名称,放在任意的目录下
3.加载配置文件
InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties"); Properties pro = new Properties(); pro.load(is);
4. 获取数据库连接池对象:通过工厂类来获取
DruidDataSourceFactory
5. 获取连接
DataSource dataSource = DruidDataSourceFactory.createDataSource(pro); Connection conn = dataSource.getConnection(); System.out.println(conn);
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Netsharp快速入门(之10) 销售管理(插件、资源、业务建模)
- Spring Boot 快速入门
- css3弹性盒模型flex快速入门与上手1
- 1、Spring Boot快速入门
- javascript快速入门第二章基础知识(下)
- Maven学习心得——快速入门Meven
- Python快速入门——简述
- Realm for Android快速入门教程
- Mybatis-plus快速入门
- 《于博士之Cadence SPB 15.7 快速入门视频教程》共60集
- [转] 一点感想及aix如何快速入门到精通
- Elasticsearch快速入门
- Java 8: Stream API 快速入门
- Subversion快速入门教程
- MyBatis快速入门(简明浅析易懂)
- Docker实践快速入门
- Solaris效力经管工具 SMF快速入门指南(1)
- Sencha Touch 2 快速入门系列(二)-- 组件(Components)
- jni快速入门
- 复杂的数据类型3 - C++快速入门09