commentdao

2021年R1快开门式压力容器操作考试及R1快开门式压力容器操作考试题

  返回  

Java-一个使用c3p0连接池例子

2021/7/21 8:13:26 浏览:

一、环境准备

1、新建java工程C3p0Demo,因为之前已经创建过,所以我上面才有一个红叉,如果是新建项目不会有红叉

 2、导入要使用的jar包,里边含有两个文件,详细情况如下:

资源的百度网盘下载地址: 

链接:https://pan.baidu.com/s/1qiQq4_x6GTNjQi4LkvEXSQ 
提取码:uu4d 

在src同目录下建立lib文件夹,并将这两个文件拷贝到lib文件夹下

 

 右键c3p0-0.9.1.2.jar包、mysql-connector-java-5.1.7-bin.jar,将jar包导入到路径中

 

 要使用c3p0还需要一个c3p0-config.xml文件,内容如下:

参数说明:jdbcUrl为数据库链接地址,javadb:数据库名 user:用户名 password:密码,此三项一定要配置,不然数据库连接会有问题

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>

	<!-- default-config 默认的配置,  -->
  <default-config>
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://localhost/javadb</property>
    <property name="user">root</property>
    <property name="password">123456</property>
    
    
    <property name="initialPoolSize">10</property>
    <property name="maxIdleTime">30</property>
    <property name="maxPoolSize">100</property>
    <property name="minPoolSize">10</property>
    <property name="maxStatements">200</property>
  </default-config>


 
</c3p0-config>
	

 将c3p0-config.xml文件拷贝到src目录下,

添加用于单元测试的jar包,右键项目名,buildpath ==> configrure build path

 

数据库的环境准备:javadb下有一张student表,如果没有请自行创建数据库、数据表

至此项目的环境配置完毕,最终代码结构为:

二、编写代码

在TestC3p0.Java中输入一下代码

package com.example.demo;

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.junit.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class TestC3p0 {
	@Test
	public void TestC3p0Demo() throws Exception{
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		
		ComboPooledDataSource dataSource = new ComboPooledDataSource();

		dataSource.setDriverClass("com.mysql.jdbc.Driver");
		conn = dataSource.getConnection();
		String sql = "select *from student";
		ps = conn.prepareStatement(sql);
		
		rs = ps.executeQuery();
			
		while(rs.next()){
			int id = rs.getInt("id");
			String name = rs.getString("name");
			int age = rs.getInt("age");
			String str = "id = "+id+" name = "+name+" age = "+age;
			System.out.println(str);
		}
			
		rs.close();
		ps.close();
		conn.close();

	}
}

运行测试用例

 输出的结果:

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号