java连数据库和数据库连接池踩坑日记(二)-------数据库连接池c3p0

  关于数据库连接池,我觉得有些沮丧,因为最后被毙掉了说不用考虑多线程的问题……

  数据库连接池的推荐:https://www.cnblogs.com/nuccch/p/8120349.html

  我最终选择的是c3p0,不过找不到最详细的那份教程了,也解决不了如何去掉log4j的warn日志的问题。

  断网了,丢记录了不想记录了……

一、配置maven文件

        <!-- c3p0连接池 -->
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>

二、配置账号密码信息

我选择的是使用xml配置文件,放在src/main/resources文件夹下面

<c3p0-config>
    <!-- 默认数据源 -->
    <default-config>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306?useSSL=false</property>
        <property name="user">root</property>
        <property name="password">123456</property>
        <property name="minPoolSize">3</property>
        <property name="maxPoolSize">10</property>
        <property name="acquireIncrement">5</property>

    </default-config>


    <!-- 定义带名称的数据源 -->
    <named-config name="OracleDataSource">
        <property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
        <property name="jdbcUrl">jdbc:oracle:thin:@oracle的ip地址:端口号:服务名</property>
        <property name="user">账号</property>
        <property name="password">密码</property>
        <property name="minPoolSize">3</property>
        <property name="maxPoolSize">11</property>
        <property name="acquireIncrement">5</property>
    </named-config>


</c3p0-config>

三、java中调用

try {
    private DataSource ds;
    // ds = new ComboPooledDataSource(); //本地mysql
    ds = new ComboPooledDataSource("OracleDataSource"); //oracle
    Connection connection = ds.getConnection();
    //得到connection后可进行sql操作了
} catch (SQLException e) {
     e.printStackTrace();
}

四、多线程调用数据库连接池

参考

猜你喜欢

转载自www.cnblogs.com/liwxmyself/p/11606276.html