C3P0連線池的使用
阿新 • • 發佈:2020-12-16
注意事項:
導包
在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&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 }