-
准备:IDEA开发工具,jdk1.8,mysql-connector-java-8.0.13,c3p0-0.9.1.2.jar,junit-4.12.jar,hamcrest-core-1.3.jar,由于junit-4.12.jar版本的问题,所以在单元测试的时候还需要加一个依赖包hamcrest-core-1.3.jar。
-
步骤1:在IDEA上新建一个java工程,单击工程,在工程上点击F4进入Project Structure,点击Modules,在右边找到Dependencies,点击“+”可以添加本地jar,如下图:
-
步骤2:c3p0是开发中常用的,而且一般使用配置文件的方式进行管理,下面是在java工程中进行测试,所以在java项目的src下新建一个c3p0-config.xml,名字不要随意改,内容如下:
<?xml version="1.0" encoding="UTF-8"?><--这是xml文件声明--> <c3p0-config> <default-config> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://192.168.37.7/wisdom_cloud</property> <property name="user">root</property> <property name="password">root</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>
driverClass,jdbcUrl,user,password这几个名字是固定的,里面的值分别是数据库驱动,数据库URL地址,数据库用户名,数据库密码,本案例是使用mysql演示,所以驱动是固定的。
-
步骤3:在java项目上新建一个类C3P0Demo,内容如下:
package com.gongzhong.learn; import com.mchange.v2.c3p0.ComboPooledDataSource; import org.junit.Test; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; /** * Created by Roriring on 2019/3/5. */ public class C3P0Demo { @Test public void testC3p0(){ ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource(); Connection conn = null; PreparedStatement prepareStatement = null; ResultSet resultSet = null; List list = null; try { conn = comboPooledDataSource.getConnection(); String sql = "SELECT * FROM staff WHERE staff_id = ?"; prepareStatement =conn.prepareStatement(sql); prepareStatement.setString(1, "2"); resultSet = prepareStatement.executeQuery(); list = new ArrayList(); if (resultSet.next()){ String name = resultSet.getString("name"); String telNbr = resultSet.getString("tel_nbr"); list.add("name="+name); list.add("telNbr="+telNbr); } System.out.print("输出的结果是:"+list); } catch (SQLException e) { e.printStackTrace(); }finally { try { if(resultSet != null){ resultSet.close(); } if(prepareStatement != null) { prepareStatement.close(); } if(conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } }
c3p0中主要使用的是ComboPooledDataSource 这个类,我们创建一个对象,然后通过这个对象可以对连接进行创建个管理,后面的JDBC代码不是重点,最后在方法上右键找到Debug testC3p0()运行即可。
- 如有问题,欢迎及时评论