C3P0连接池的使用

注意事项:

导包

在WEB-INF/lib 下导入第一个和第三个包。

 

 在src路径下导入XML配置文件

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <c3p0-config>
 3     <named-config name="c3p0">
 4     <property name="user">root</property>
 5     <property name="password">000429</property>
 6     <property name="driverClass">com.mysql.jdbc.Driver</property>
 7     <property name="jdbcUrl">jdbc:mysql://localhost:3306/info?useUnicode=true&amp;setCharacterEncoding=UTF-8</property>
 8     <property name="acquireIncrement">5</property>
 9     <property name="initialPoolSize">5</property>
10     <property name="minPoolSize">2</property>
11     <property name="maxPoolSize">40</property>
12     </named-config>
13 </c3p0-config>

 

 

之后新建一个util类

 

 1 package com.ycw.util;
 2 
 3 import java.sql.Connection;
 4 import java.sql.PreparedStatement;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 
 8 import com.mchange.v2.c3p0.ComboPooledDataSource;
 9 
10 public class JDBCUtil {
11     public static Connection getConn() throws SQLException {
12         ComboPooledDataSource datasource=new ComboPooledDataSource("c3p0");
13 //        try {
14 //            datasource.setDriverClass("com.mysql.jdbc.Driver");
15 //            datasource.setJdbcUrl("jdbc:mysql://localhost:3306/info?useUnicode=true&setCharacterEncoding=UTF-8");
16 //            datasource.setPassword("000429");
17 //            datasource.setUser("root");
18 //            Connection connection = datasource.getConnection();
19 //            System.out.println(connection);
20 //        } catch (PropertyVetoException e) {
21 //            // TODO 自动生成的 catch 块
22 //            e.printStackTrace();
23 //        }
24         Connection connection = datasource.getConnection();
25         System.out.println(connection);
26         return connection;
27     }
28 
29     public static void drop(Connection conn, PreparedStatement ps) {
30         // TODO 自动生成的方法存根
31         if(ps!=null)
32         {
33             try {
34                 ps.close();
35             } catch (SQLException e) {
36                 // TODO 自动生成的 catch 块
37                 e.printStackTrace();
38             }
39             
40         }
41         if(conn!=null) {
42             try {
43                 conn.close();
44             } catch (SQLException e) {
45                 // TODO 自动生成的 catch 块
46                 e.printStackTrace();
47             }
48             
49         }
50         
51     }
52     public static void drop(Connection conn, PreparedStatement ps ,ResultSet rs) {
53         // TODO 自动生成的方法存根
54         if(rs!=null)
55         {
56             try {
57                 rs.close();
58             } catch (SQLException e) {
59                 // TODO 自动生成的 catch 块
60                 e.printStackTrace();
61             }
62         }
63         if(ps!=null)
64         {
65             try {
66                 ps.close();
67             } catch (SQLException e) {
68                 // TODO 自动生成的 catch 块
69                 e.printStackTrace();
70             }
71             
72         }
73         if(conn!=null) {
74             try {
75                 conn.close();
76             } catch (SQLException e) {
77                 // TODO 自动生成的 catch 块
78                 e.printStackTrace();
79             }
80             
81         }
82         
83     }
84 }

 

posted @ 2020-12-16 16:23  靠谱杨  阅读(108)  评论(0编辑  收藏  举报