C3P0数据库连接池技术
作者:互联网
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能。目前使用它的开源项目有hibernate,spring等。是一个成熟的、高并发的JDBC连接池库,用于缓存和重用PreparedStatements支持。c3p0具有自动回收空闲连接功能。hibernate3开始推荐使用他
方式一:在Java代码中直接获取数据库信息,建立数据库连接池
@Test public void test() throws Exception{ ComboPooledDataSource cpds = new ComboPooledDataSource(); //建立连接池 cpds.setDriverClass("com.mysql.jdbc.Driver"); //数据库驱动 cpds.setJdbcUrl("jdbc:mysql://localhost:3306/test");//数据库地址 cpds.setUser("root"); //用户名 cpds.setPassword("123456");//密码 Connection conn = cpds.getConnection(); //获取连接 System.out.println(conn);//打印连接 }
方式二:通过配置来获取数据库信息,建立数据库连接池
@Test public static Connection getConnection2() throws SQLException{ DataSource cpds = new ComboPooledDataSource("myc3p0");//myc3p0和配置中的named-config标签中的name属性相同 Connection conn = cpds.getConnection();//获取连接 System.out.println(conn);//打印连接 }
放在src目录下的配置文件名:c3p0-config.xml
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <named-config name="myc3p0"> <!-- 获取连接的4个基本信息 --> <property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="user">root</property> <property name="password">123456</property> ' <!-- 涉及到数据库连接池的管理的相关属性的设置 --> <!-- 若数据库中连接数不足时, 一次向数据库服务器申请多少个连接 --> <property name="acquireIncrement">5</property> <!-- 初始化数据库连接池时连接的数量 --> <property name="initialPoolSize">5</property> <!-- 数据库连接池中的最小的数据库连接数 --> <property name="minPoolSize">5</property> <!-- 数据库连接池中的最大的数据库连接数 --> <property name="maxPoolSize">10</property> <!-- C3P0 数据库连接池可以维护的 Statement 的个数 --> <property name="maxStatements">20</property> <!-- 每个连接同时可以使用的 Statement 对象的个数 --> <property name="maxStatementsPerConnection">5</property> </named-config> </c3p0-config>
标签:jdbc,数据库,C3P0,conn,mysql,cpds,连接池 来源: https://www.cnblogs.com/linglongfang/p/12693540.html