zoukankan      html  css  js  c++  java
  • JAVA通过C3P0连接数据库

    配置文件:

    <?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方法参数传值传引用的一点看法
    Oracle触发器介绍
    CASE WHEN
    group by ,order by ,having
    Java中使用正则表达式
    Oracle 9i 分析函数参考手册
    ORACLE round 与 trunc 的区别
    oracle的默认表名长度(30)
    order by 使用索引的情况
    解析oracle的ROWNUM 作者: chen_liang
  • 原文地址:https://www.cnblogs.com/byteworld/p/5691416.html
Copyright © 2011-2022 走看看