使用c3p0连接池来改版JdbcUtils工具
1. 使用c3p0连接池获取连接,使代码更加简单
1 /** 2 * 使用c3p0连接池做小工具 3 * JdbcUtils v2.0 4 * @author hui.zhang 5 * 6 */ 7 public class JdbcUtils { 8 // 配置文件的默认配置,必须给出c3p0-config.xml 9 private static ComboPooledDataSource dataSource = new ComboPooledDataSource(); 10 11 /** 12 * 使用连接池返回一个连接对象 13 * @return 14 * @throws SQLException 15 */ 16 public static Connection getConnection() throws SQLException { 17 return dataSource.getConnection(); 18 } 19 20 /** 21 * 返回连接池对象 22 * @return 23 */ 24 public static DataSource getDataSource() { 25 return dataSource; 26 } 27 28 }
2. 在src路径下必须给出c3p0-config.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <!-- 默认配置信息 --> <default-config> <!-- 连接四大参数 --> <property name="user">数据库用户名</property> <property name="password">数据库密码</property> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql:///数据库名</property> <!-- 池参数配置 --> <property name="acquireIncrement">3</property> <property name="initialPoolSize">10</property> <property name="minPoolSize">2</property> <property name="maxPoolSize">10</property> </default-config> </c3p0-config>
3. 总结
* 什么是连接池
连接池是装有连接的容器,使用连接的话,可以从连接池中进行获取,使用完成之后将连接归还给连接池。
* 为什么要学习连接池
连接对象创建和销毁是需要耗费时间的,在服务器初始化的时候就初始化一些连接。把这些连接放入到内存中,使用的时候可以从内存中获取,使用完成之后将连接放入连接池中。从内存中获取和归还的效率要远远高于创建和销毁的效率。(提升性能)。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JdbcUtils v2.0的版本加入了c3p0连接池,c3p0是一个开源连接池,支持JDBC3和JDBC2的标准扩展,目前使用它的开源项目有Hibernate、Spring等。接下来有机会介绍介绍阿里旗下的开源连接池Druid,使用非常简单,可以和Spring进行快速整合。
时间: 2024-10-12 13:55:17