c3p0连接数据库
c3p0连接数据库
c3p0使用过程:
通过ComboPooledDataSource获取数据源ds-->由数据源获取连接对象
导包
- 数据库驱动包
- c3p0包
- mchange-commons-java c3p0数据库连接池的辅助包,如果没有这个包系统启动时会报classnotfoundexception,这是更新c3p0-0.9.2版本后分离出来的包,0.9.1的时候还是只是一个包。
导包存在的问题
c3p0-0.9.1.2及以下的包不需要辅助包,高版本的需要对应的辅助包。
c3p0与JDBC的比较
JDBC:加载驱动,由驱动连接数据库获取连接对象
c3p0:通过ComboPooledDataSource创建数据源,由数据源获取连接对象
? (即将加载驱动和连接数据库进行了封装)
直接获取方式
public class C3p0{ public static DataSource ds = null; static{ ComboPooledDataSource cpds = new ComboPooledDataSource(); try{ cpds.setDriverClass("com.mysql.cj.jdbc.Driver"); cpds.setJdbcUrl( "jdbc:mysql://localhost:3306/test?&useSSL=false&serverTimezone=UTC"); cpds.setUser("root"); cpds.setPassword("123"); cpds.setInitialPoolSize(5); cpds.setMaxPoolSize(15); ds = cpds; }catch(Exception e){ System.out.println("获取数据源失败!!!"); } } } //通过C3po.ds.getConnection()获取连接对象
读取配置文件方式
.xml或.properties文件名命名:c3p0.properties/c3p0-config.xml
位置:在src目录下
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <!-- 默认 --> <default-config> <property name="driverClass">com.mysql.cj.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql:///test?useSSL=false&serverTimezone=UTC</property> <property name="user">root</property> <property name="password">123</property> <property name="checkoutTimeout">3000</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> <!-- 自定义名称 <name-config name="名称"> <properties></properties> </name-config> --> </c3p0-config>
import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import org.junit.Test; import com.mchange.v2.c3p0.ComboPooledDataSource; public class C3p0Utils { private static DataSource ds = null; static{ ds = new ComboPooledDataSource(); } public static Connection getConn() { Connection conn = null; try { conn = ds.getConnection(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } @Test public void Test(){ System.out.println(C3p0Utils.getConn()); } }
相关推荐
thunderstorm 2020-06-06
langyue 2020-05-31
鲁氏汤包王 2020-04-18
favouriter 2020-04-18
jakefei 2020-01-05
lightlanguage 2019-12-22
cyhgogogo 2019-12-18
点滴技术生活 2019-12-05
herohope 2019-11-10
AKbiubiu 2016-07-06
Ali 2012-05-23
bigcactus 2012-04-17
朝军 2012-03-13
WilliamLin 2010-04-28
wujun 2011-09-14
pkzdz 2015-08-31
易鲸捷大数据库 2015-08-20