前排提示, 如果官网下载的速度太慢, 可以用文末我提供的链接
目录
1.C3P0
使用前准备:
官网下载jar包
c3p0-v0.9.5.5 - JDBC3 Connection and Statement Pooling - Documentation (mchange.com)
注意是 bin.zip
下好以后来到这个路径下, 复制这两个jar包
项目下新建一个文件夹
把jar包复制到这里
CTRL选中两个jar包右键
选项目或者模块都可以,我们选择模块库, 再点确定
新建测试类测试
方式一:硬编码(数据库配置写进代码里)
本文使用@Test单元测试方法测试, 没见过换成main方法即可
@Test
public void getConnection() throws PropertyVetoException, SQLException {
//获取c3p0数据库连接池
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass("com.mysql.cj.jdbc.Driver"); //加载JDBC驱动
cpds.setJdbcUrl("jdbc:mysql://localhost:3306/test");//test对应你数据库的一张表
cpds.setUser("root");//用户名
cpds.setPassword("admin");//密码
Connection cn = cpds.getConnection();//获取数据库连接
System.out.println(cn);
DataSources.destroy(cpds);//销毁连接池
}
运行结果: (注意, 红色是日志信息, 不是报错)
方式二:写配置文件, 代码和配置分离(开发推荐)
src下创建文件, 文件名(连接池规定的不能改)
c3p0-config.xml
XML文件内容如下
<?xml version="1.0" encoding="UTF-8" ?>
<c3p0-config>
<!-- 提供获取连接的4个基本信息 -->
<named-config name="helloC3P0">
<!-- MySQL8.0 就多一个cj -->
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<!-- 把test换成自己对应的数据库 -->
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<!-- 换成自己的用户名密码 -->
<property name="user">root</property>
<property name="password">admin</property>
</named-config>
</c3p0-config>
其中
<named-config name="helloC3P0">
name可自定义
我们再写代码(构造函数里写刚刚自定义的名字)
@Test
public void getConnection2() throws SQLException {
ComboPooledDataSource cpds = new ComboPooledDataSource("helloC3P0");
Connection cn = cpds.getConnection();
System.out.println(cn);
DataSources.destroy(cpds);
}
运行结果:
2.DBCP
使用前准备:
官网下载jar包(3个)
1.
注意事项: Java8是最低要求版本
2.
Pool – Download Apache Commons Pool
3.
Apache Commons Logging - Download Apache Commons Logging
这三个包
jar包放到lib目录下, 添加为库(其他步骤同上文, 略)
方式一:硬编码(数据库配置写进代码里)
@Test
public void testDBCP() throws SQLException {
BasicDataSource source = new BasicDataSource();
source.setDriverClassName("com.mysql.cj.jdbc.Driver");
source.setUrl("jdbc:mysql://localhost:3306/test");
source.setUsername("root");
source.setPassword("admin");
Connection cn = source.getConnection();
System.out.println(cn);
}
方式二:写配置文件, 代码和配置分离(开发推荐)
src右键
创建dbcp.properties
注意首字母小写
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql:///test
username=root
password=admin
测试
@Test
public void test2() throws Exception {
InputStream is = ClassLoader.getSystemClassLoader().
getResourceAsStream("dbcp.properties");
Properties pros = new Properties();
pros.load(is);
BasicDataSource source = BasicDataSourceFactory.createDataSource(pros);
Connection cn = source.getConnection();
System.out.println(cn);
}
运行结果:
3.Druid(德鲁伊)
我们用到是阿里的数据库连接池德鲁伊
使用前准备:
官网下载jar包
Central Repository: com/alibaba/druid/1.2.8 (maven.org)
jar包放到lib目录下, 添加为库(其他步骤同上文, 略)
为了不麻烦 直接写第二种了
src下新建一个druid.properties
配置信息同dbcp.properties
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql:///test
username=root
password=admin
上代码(代码配置文件分离)
@Test
public void test() throws Exception {
InputStream is = ClassLoader.getSystemResourceAsStream("druid.properties");
Properties pros = new Properties();
pros.load(is);
DataSource source = DruidDataSourceFactory.createDataSource(pros);
Connection cn = source.getConnection();
System.out.println(cn);
}
我整理了文中用到的包, 如果官网下载过慢, 可以试试 :
阿里云盘分享 (aliyundrive.com)https://www.aliyundrive.com/s/8fhMzVnDzLf
提取码xb14