如何通过C3P0优化JDBC数据库连接管理?

2026-06-10 15:201阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计726个文字,预计阅读时间需要3分钟。

如何通过C3P0优化JDBC数据库连接管理?

原文示例:本文字例为大家分享了使用C3P0改造JDBC连接数据库的方法,供大家参考。具体内容如下:

1. Connection对象在JDBC使用的时候。使用的时候就会去创建一个对象,使用结束后就会将这个对象销毁。

本文实例为大家分享了使用C3P0改造JDBC对数据库的连接,供大家参考,具体内容如下

1.Connection对象在JDBC使用的时候.使用的时候就会去创建一个对象,使用结束以后就会将这个对象给销毁了.每次创建和销毁对象都是耗时操作.需要使用连接池对其进行优化.程序初始化的时候,初始化多个连接,将多个连接放入到池中(内存中).每次获取的时候,都可以直接从连接池中进行获取.使用结束以后,将连接归还到池中。

本文介绍的连接池为:C3P0

如何通过C3P0优化JDBC数据库连接管理?

2.使用步骤

导入jar包:c3p0-0.9.1.2.jar
在src文件夹下创建c3p0-config.xml文件
使用C3P0连接池

3.代码实现

package lesson15_jdbc; import com.mchange.v2.c3p0.ComboPooledDataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class C3P0_lianjiechi { public static void main(String[] args) { //使用自定义配置 ComboPooledDataSource dataSource1=new ComboPooledDataSource(); //使用自定义配置 //ComboPooledDataSource dataSource2 = new ComboPooledDataSource(""); //建立连接 try{ Connection conn = dataSource1.getConnection(); String sql="select * from 1_mytable1"; PreparedStatement pst=conn.prepareStatement(sql); ResultSet res = pst.executeQuery(); while(res.next()){ System.out.println(res.getString("n")+"->"+res.getString("age")+"->"+res.getString("gender")); } res.close(); pst.close(); conn.close(); }catch (SQLException e){ e.printStackTrace(); } } }

4.c3p0-config.xml配置文件(如下)

<c3p0-config> <!-- 默认配置,如果没有指定则使用这个配置 --> <default-config> <!-- 基本配置 --> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/1_mydata</property> <property name="user">root</property> <property name="password">123456</property> <!--扩展配置--> <property name="checkoutTimeout">30000</property> <property name="idleConnectionTestPeriod">30</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> <!-- 命名的配置 --> <named-config name="Space_c3p0"> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/1_mydata</property> <property name="user">root</property> <property name="password">123456</property> <!-- 如果池中数据连接不够时一次增长多少个 --> <property name="acquireIncrement">5</property> <property name="initialPoolSize">20</property> <property name="minPoolSize">10</property> <property name="maxPoolSize">40</property> <property name="maxStatements">20</property> <property name="maxStatementsPerConnection">5</property> </named-config> </c3p0-config>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

标签:连接本文

本文共计726个文字,预计阅读时间需要3分钟。

如何通过C3P0优化JDBC数据库连接管理?

原文示例:本文字例为大家分享了使用C3P0改造JDBC连接数据库的方法,供大家参考。具体内容如下:

1. Connection对象在JDBC使用的时候。使用的时候就会去创建一个对象,使用结束后就会将这个对象销毁。

本文实例为大家分享了使用C3P0改造JDBC对数据库的连接,供大家参考,具体内容如下

1.Connection对象在JDBC使用的时候.使用的时候就会去创建一个对象,使用结束以后就会将这个对象给销毁了.每次创建和销毁对象都是耗时操作.需要使用连接池对其进行优化.程序初始化的时候,初始化多个连接,将多个连接放入到池中(内存中).每次获取的时候,都可以直接从连接池中进行获取.使用结束以后,将连接归还到池中。

本文介绍的连接池为:C3P0

如何通过C3P0优化JDBC数据库连接管理?

2.使用步骤

导入jar包:c3p0-0.9.1.2.jar
在src文件夹下创建c3p0-config.xml文件
使用C3P0连接池

3.代码实现

package lesson15_jdbc; import com.mchange.v2.c3p0.ComboPooledDataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class C3P0_lianjiechi { public static void main(String[] args) { //使用自定义配置 ComboPooledDataSource dataSource1=new ComboPooledDataSource(); //使用自定义配置 //ComboPooledDataSource dataSource2 = new ComboPooledDataSource(""); //建立连接 try{ Connection conn = dataSource1.getConnection(); String sql="select * from 1_mytable1"; PreparedStatement pst=conn.prepareStatement(sql); ResultSet res = pst.executeQuery(); while(res.next()){ System.out.println(res.getString("n")+"->"+res.getString("age")+"->"+res.getString("gender")); } res.close(); pst.close(); conn.close(); }catch (SQLException e){ e.printStackTrace(); } } }

4.c3p0-config.xml配置文件(如下)

<c3p0-config> <!-- 默认配置,如果没有指定则使用这个配置 --> <default-config> <!-- 基本配置 --> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/1_mydata</property> <property name="user">root</property> <property name="password">123456</property> <!--扩展配置--> <property name="checkoutTimeout">30000</property> <property name="idleConnectionTestPeriod">30</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> <!-- 命名的配置 --> <named-config name="Space_c3p0"> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/1_mydata</property> <property name="user">root</property> <property name="password">123456</property> <!-- 如果池中数据连接不够时一次增长多少个 --> <property name="acquireIncrement">5</property> <property name="initialPoolSize">20</property> <property name="minPoolSize">10</property> <property name="maxPoolSize">40</property> <property name="maxStatements">20</property> <property name="maxStatementsPerConnection">5</property> </named-config> </c3p0-config>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

标签:连接本文