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&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 }
好看请赞,养成习惯:) 本文来自博客园,作者:靠谱杨, 转载请注明原文链接:https://www.cnblogs.com/rainbow-1/p/14144539.html
欢迎来我的51CTO博客主页踩一踩 我的51CTO博客
文章中的公众号名称可能有误,请统一搜索:靠谱杨的秘密基地