JDBC连接池C3P0(一):运用xml文件进行装备ITeye - 凯时娱乐

JDBC连接池C3P0(一):运用xml文件进行装备ITeye

2019-01-11 01:35:12 | 作者: 秋荷 | 标签: 衔接,默许,数据库 | 浏览: 1192

1、在src下新建c3p0-config.xml,姓名不能改只能是这个,内容如下:

 ?xml version="1.0" encoding="UTF-8"? 
 c3p0-config 
 default-config 
 property name="user" root /property 
 property name="password" root /property 
 property name="driverClass" com.mysql.jdbc.Driver /property 
 property name="jdbcUrl" jdbc:mysql://127.0.0.1:3306/test /property 
 !-- 衔接池初始化时树立的衔接数 默许值是3 -- 
 property name="initialPoolSize" 3 /property 
 !-- 衔接的最大闲暇时刻 单位秒 默许是0-代表永久不会断开衔接 超越设定时刻的闲暇衔接将会断开 -- 
 property name="maxIdleTime" 30 /property 
 !-- 衔接池中具有的最大衔接数 默许值为15个 -- 
 property name="maxPoolSize" 20 /property 
 !-- 衔接池中坚持的最小衔接数 默许值为3个-- 
 property name="minPoolSize" 3 /property 
 !-- 将衔接池的衔接数坚持在minpoolsize 有必要小于maxIdleTime设置 默许值为0代表不处理 单位秒 -- 
 property name="maxIdleTimeExcessConnections" 15 /property 
 /default-config 
 !-- SQLServer数据库 测验用 -- 
 named-config name="sqlserver" 
 property name="user" sa /property 
 property name="password" sa /property 
 property name="driverClass" com.microsoft.sqlserver.jdbc.SQLServerDriver /property 
 property name="jdbcUrl" jdbc:sqlserver://127.0.0.1:1433;databaseName=test /property 
 property name="initialPoolSize" 3 /property 
 property name="maxIdleTime" 30 /property 
 property name="maxPoolSize" 20 /property 
 property name="minPoolSize" 3 /property 
 property name="maxIdleTimeExcessConnections" 15 /property 
 /named-config 
 /c3p0-config 

我这儿建了两个数据源:第一个是默许的数据源MySQL,第二个是自己指定称号的数据源sqlserver。两者怎么运用第二步中有介绍。

 

2、新建类进行衔接测验:

public class DBConnectionByC3P0ForXML {
 private static ComboPooledDataSource cpds = null;
 //私有结构办法,不能创立目标 
 private DBConnectionByC3P0ForXML() {}
 //加载数据库衔接的配置文件和驱动
 static {
 // 这儿有个长处,写好配置文件,想换数据库,简略
 //cpds = new ComboPooledDataSource();// 这是默许的mysql数据库
 cpds = new ComboPooledDataSource("sqlserver");//sqlserver数据库
 //获取衔接目标
 public static Connection getConnection() throws SQLException {
 return cpds.getConnection();
 //获取数据源
 public static DataSource getDataSource() {
 return cpds;
 private static Integer counter = 0;
 public static void main(String[] args){
 for (int i = 1; i = 20; i++) {
 new Thread(new Runnable() {
 public void run() {
 Connection conn = null;
 try {
 conn = DBConnectionByC3P0ForXML.getConnection();
 synchronized (counter) {
 System.out.print(Thread.currentThread().getName());
 System.out.print("counter=" +(counter++)+ "\tconn="+conn);
 System.out.println();
 conn.prepareStatement("select * from s_user");
 conn.close();
 } catch (SQLException e) {
 e.printStackTrace();
 }).start();
}

首要jar包:c3p0-0.9.2-pre4.jar、mchange-commons-java-0.2.2.jar

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    DynamicReports 简略运用ITeye

    付款,序号,金额
  • 2
  • 3

    怎么中止线程ITeye

    中止,线程,办法
  • 4
  • 5

    [C#]Console类的详细用法ITeye

    控制台,字符串,输出
  • 6

    ehcache基本原理ITeye

    缓存,磁盘,是否
  • 7
  • 8
  • 9

    KMPITeye

    匹配,长串,短串
  • 10

    ruby编码问题小结ITeye

    办法,第章,编程