概述
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。
当应用程序启动时,系统主动建立足够的数据库连接,并将这些连接组成一个连接池。每当应用程序请求数据库连接时,无需重新打开连接,而是从池中去已有的连接使用,使用完后,不再关闭数据库连接,而是直接将连接归还给连接池。通过使用连接池,将大大提高程序运行效率。
1. C3p0的使用
C3p0是一个开源的JDBC连接池,不仅可以自动清理不再使用的Connection,还可以自动清理Statement和ResultSet。使用步骤
前期准备:上https://sourceforge.net/projects/c3p0/上下载c3p0的官方资料
step1:在项目上新建一个jars文件夹,添加c3p0的jar包
step2:在src中加入c3p0.properties配置文件
文件内容如下:
c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql://localhost:3306/mycore
c3p0.user=root
c3p0.password=mysql
# the settings below are optional -- c3p0 can work with defaults
c3p0.minPoolSize=3
c3p0.initialPoolSize=4
c3p0.maxPoolSize=10
step3:编写测试程序
package com.test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class Test {
public static void main(String[] args) {
//step1:实例化javax.sql.DataSource接口的实现类,,如果使用的是Druid连接池,则实例化DruidDataSource
ComboPooledDataSource cpds = new ComboPooledDataSource();
//step2:系统会在classpath找c3p0.properties文件,把其中的配置初始化到cpds中
try {
//通过DataSource得到Connection
Connection con=cpds.getConnection();
//System.out.println(con);
String sql="update stu set name=? where id=?";
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, "诸葛亮");
ps.setInt(2, 0);
int re= ps.executeUpdate();
System.out.println(re);
con.close();
} catch (SQLException e) {
System.out.println("连接数据库失败");
e.printStackTrace();
}
}
}
数据库结果如下:
最后
以上就是风趣微笑为你收集整理的Mysql数据库连接池之C3p0的使用的全部内容,希望文章能够帮你解决Mysql数据库连接池之C3p0的使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复