配置文件:

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

<c3p0-config>
    <named-config name="data">
        <property name="user">scott</property>  
        <property name="password">123456</property>
        <property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
        <property name="jdbcUrl">jdbc:oracle:thin:@192.168.32.32:1521:orcl</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>

实现类:

package com.niit.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.mchange.v2.c3p0.DataSources;
import com.mchange.v2.c3p0.PoolBackedDataSource;

/**
 * 数据库连接类工具
 * @author Administrator
 *
 */
public class UtilsSql {
    private static UtilsSql install = new UtilsSql();
    private static ComboPooledDataSource data;
    private UtilsSql(){
         data = new ComboPooledDataSource("data");
    }
    /**
     * 获取连接
     * @return 连接
     * @throws SQLException 连接异常
     */
    public static Connection getConnection() throws SQLException{
        return data.getConnection();
    }
    
    
    public static UtilsSql getUtilsSql(){
        return install;
    }
    
    
    /**
     * 关闭连接
     */
    public static void closeAll(Connection conn, Statement ment, ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                if (ment != null) {
                    try {
                        ment.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    } finally {

if (conn != null) {
                            try {
                                conn.close();
                            } catch (SQLException e) {
                                e.printStackTrace();
                            }
                        }
                    }
                }
            }
        }
    }
}

JAVA通过C3P0连接数据库的更多相关文章

  1. c3p0连接数据库的3种方式

    c3p0连接数据库的3种方式,这里以mysql为例 1. 直接用set方法设置参数, 基本方法 ComboPooledDataSource dataSource = new ComboPooledDa ...

  2. Java开发JDBC连接数据库

    Java开发JDBC连接数据库 创建一个以JDBC连接数据库的程序,包含6个步骤: JDBC五部曲1.加载驱动2.获得链接3.获取statement对象 4.执行SQL语句5.产生resultset对 ...

  3. dea创建Maven工程用c3p0连接数据库报错java.sql.SQLException: Connections could not be acquired from the underlying

    idea   java.sql.SQLException: Connections could not be acquired from the underlying database! 转载自:ht ...

  4. c3p0 连接数据库失败的问题

    报错:java.sql.SQLException: No suitable driver 显然,这里c3p0由于没有找到对应的配置文件(c3p0-config.xml或者c3p0.properties ...

  5. java开发JDBC连接数据库详解

    JDBC连接数据库 好文一定要让大家看见 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机) ...

  6. Java中JDBC连接数据库代码和步骤详解总结

    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤:         1.加载JDBC驱动程序:         在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Jav ...

  7. 【Java】JDBC连接数据库

    JDBC介绍 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言 ...

  8. java(2014版)连接数据库的工具类

    package util; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...

  9. 从零开始学JAVA(05)-连接数据库MSSQL(JDBC代码篇)

    MSSQL的JDBC驱动下载好以后就可以写代码了. 1.新建项目,项目名为SqlJdbc.新建类,类名为SqlTest,同时勾选public static void main(String[] arg ...

随机推荐

  1. Intent官方教程(5)在manifest中给组件添加<Intent-filter>

    Receiving an Implicit Intent To advertise which implicit intents your app can receive, declare one o ...

  2. redis pool

    Redis Pool--Java 配置文件 #redis conf ADDR=127.0.0.1 PORT= AUTH= #session timeout TIMEOUT= MAX_ACTIVE= M ...

  3. C语言中的++和--

    这个问题是老生常谈的问题了,虽然诸多大牛都深恶痛绝的告诉所有人不要那样写,但这永远挡不住学校的老师和考试. 今天我们来辨析一下这个东西. 首先我们来名词辨析一下吧: ++i 这个叫   前自增 i++ ...

  4. C/C++通过WMI和系统API函数获取获取系统硬件配置信息

    转载:http://www.cnblogs.com/renyuan/archive/2012/12/29/2838716.html 转载:http://blog.csdn.net/jhqin/arti ...

  5. 在VS中编译C++静态库以及使用的方法

    1.编译静态库 // add.h #pragma once class Add { public: Add(void); ~Add(void); int add(int a,int b); }; #i ...

  6. 【leetcode❤python】107. Binary Tree Level Order Traversal II

    #-*- coding: UTF-8 -*- # Definition for a binary tree node.# class TreeNode(object):#     def __init ...

  7. Java float保留两位小数或多位小数

    Java float保留两位小数或多位小数 方法1:用Math.round计算,这里返回的数字格式的.    float price=89.89;int itemNum=3;float totalPr ...

  8. django 简单的邮件系统

    django邮件系统 Django发送邮件官方中文文档 总结如下: 1.首先这份文档看三两遍是不行的,很多东西再看一遍就通顺了. 2.send_mail().send_mass_mail()都是对Em ...

  9. [51NOD1959]循环数组最大子段和(dp,思路)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1050 这道题的最大子段和有两种可能,一种是常规的子段和,另一种 ...

  10. mimikatz2.0抓取WINDOWS密码

    看吾爱的,刚好问同事说这个也用过,以后内网渗透的话比较方便 http://www.52pojie.cn/thread-264895-1-1.html ========================= ...