c3p0连接池 & JdbcUtils

一、引入jar包

二、java代码

 1     @Test
 2     public void testXML() throws Exception {
 3         // 创建c3p0连接池核心工具类
 4         // 自动加载src下c3p0的配置文件【c3p0-config.xml】
 5         ComboPooledDataSource dataSource = new ComboPooledDataSource();// 使用默认的配置
 6         PreparedStatement pstmt = null;
 7
 8         // 获取连接
 9         Connection con = dataSource.getConnection();
10         for (int i=1; i<11;i++){
11             String sql = "insert into employee(empName,dept_id) values(?,?)";
12             // 执行更新
13             pstmt = con.prepareStatement(sql);
14             pstmt.setString(1, "Rose" + i);
15             pstmt.setInt(2, 1);
16             pstmt.executeUpdate();
17         }
18         pstmt.close();
19         // 关闭
20         con.close();
21
22     }

三、配置文件(c3p0-config.xml)

 1 <c3p0-config>
 2     <default-config>
 3         <property name="jdbcUrl">jdbc:mysql://localhost:3306/jdbc_demo
 4         </property>
 5         <property name="driverClass">com.mysql.jdbc.Driver</property>
 6         <property name="user">root</property>
 7         <property name="password">root</property>
 8         <property name="initialPoolSize">3</property>
 9         <property name="maxPoolSize">6</property>
10         <property name="maxIdleTime">1000</property>
11     </default-config>
12
13
14     <named-config name="oracle_config">
15         <property name="jdbcUrl">jdbc:mysql://localhost:3306/jdbc_demo</property>
16         <property name="driverClass">com.mysql.jdbc.Driver</property>
17         <property name="user">root</property>
18         <property name="password">root</property>
19         <property name="initialPoolSize">3</property>
20         <property name="maxPoolSize">6</property>
21         <property name="maxIdleTime">1000</property>
22     </named-config>
23
24
25 </c3p0-config>

四、JdbcUtils(使用连接池)

 1 public class JdbcUtil {
 2
 3     //初始化连接池
 4     private static DataSource dataSource;
 5
 6     //静态代码块初始化连接池资源,只执行一次
 7     static{
 8         dataSource = new ComboPooledDataSource();
 9     }
10
11     /**
12      * 返回连接对象
13      */
14     public static Connection getConnection() {
15         try {
16             return dataSource.getConnection();
17         } catch (SQLException e) {
18             throw new RuntimeException(e);
19         }
20     }
21
22     /**
23      * 关闭
24      */
25     public static void closeAll(Connection con, Statement stmt, ResultSet rs) {
26         try {
27             if (rs != null) {
28                 rs.close();  // 快速异常捕获 Alt + shift + z
29                 rs = null;   // 建议垃圾回收期回收资源
30             }
31             if (stmt != null) {
32                 stmt.close();
33                 stmt = null;
34             }
35             if (con != null && !con.isClosed()) {
36                 con.close();
37                 con = null;
38             }
39         } catch (SQLException e) {
40             throw new RuntimeException(e);
41         }
42     }
43 }
时间: 2024-12-28 09:06:57

c3p0连接池 & JdbcUtils的相关文章

【JDBC】C3P0连接池的使用

C3P0连接池的c3p0-config.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-config> <property name="driverClass">com.mysql.cj.jdbc.Driver</property> <property name="jdbcUrl&

DBCP连接池与c3p0连接池

1.   DBCP连接池 2.  c3p0连接池(参见上一篇的使用步骤http://www.cnblogs.com/qlqwjy/p/7545012.html)

14、Hibernate对c3p0连接池的配置

1.Hibernate3的c3p0连接池的配置 在hibernate.cfg.xml中配置如下信息: <!-- 1. 数据库连接配置 --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:///

c3p0连接池的使用

C3P0:(★) hibernate和spring使用 有自动回收空闲连接的功能. 使用步骤: 1.导入jar包(c3p0-0.9.1.2.jar) 2.使用api a.硬编码(不推荐) new ComboPooledDataSource() b.配置文件 配置文件的名称:c3p0.properties 或者 c3p0-config.xml 配置文件的路径:src下 配置文件中的名字要少用:c3p0.user()格式 编码只需要一句话 new ComboPooledDataSource()//使

C3P0连接池一些基本配置

1 C3P0连接池配置 2 数据库连接是一个耗费大量资源且相当慢的操作,所以为了提高性能和连接速度,诞生了连接池这样的概念. 3 在多用户并发操作过程中,连接池尤为重要. 4 它是将那些已连接的数据库连接存放在一个容器里(连接池),这样以后别人要连接数据库的时候,将不会重新建立数据库连接,会直接从连接池里取出可用的连接,用户使用完毕后,连接又重新还回到连接池中. 5 注意:连接池里的连接将会一直保存在内存里,即使你没用也是一样.所以这个时候你得权衡一下连接池的连接数量了. 6 7 <c3p0-c

Maven 工程下 Spring MVC 站点配置 (三) C3P0连接池与@Autowired的应用

Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 前两篇文章主要是对站点和数据库操作配置进行了演示,如果单单实现这两个需求的话,那么基本足够,但是很多时候一个网站除了仅仅能够访问数据库是不够的,它还需要对性能以及更简化的步骤有着更多的要求,这一篇重点就是帮助我们如何去实现数据连接池管理与更简化便利的开发步骤. 如果你觉得自己能写出更高效率的连接池,那你可以不需要这篇文章了,我更建议你可以去开源组织毛遂自

java学习笔记—c3p0连接池与元数据分析(42)

第一步:导入c3p0包 第二步:在classpath目录下,创建一个c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <!-- 默认配置,只可以出现一次 --> <default-config> <!-- 连接超时设置30秒 --> <property name="checkoutTimeout"

C3P0连接池配置

C3P0是一个开源的JDBC连接池,详情请google. 在spring中,C3P0的一些配置,介绍如下(只列了一部分,不是全部) C3P0更详细的配置项及其含义,请参考:http://www.mchange.com/projects/c3p0/index.html <!-- c3p0连接池配置 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"&g

JNDI配置c3p0连接池

CNDI是什么呢? 就是java命名和目录接口,是SUN公司提供的一种标准的Java命名系统接口. 不好理解?简单说呢,他就是一个资源,放在tomcat里面的一个资源,今天我们就把数据库连接池放到tomcat中,当然你也可以放别的东西,比如Been. ok!开始 首先我们新建web项目: 新建项目叫:JNDI_demo 然后在tomcat目录:F:\apache-tomcat-5.5.25\conf\Catalina\localhost下,创建一个资源. 命名就是:项目名.xml 在我这就叫:J