zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    JS 数组总结
    JS 数据类型及其判断
    CSS 优先级
    正则表达式及其使用例子
    常见的图片格式
    React 箭头函数的使用
    手动搭建 react+webpack 开发环境
    JS 函数参数及其传递
    JS 中的 this 指向问题
    JS 中函数的 length 属性
  • 原文地址:https://www.cnblogs.com/rainbow-1/p/14144539.html
Copyright © 2011-2022 走看看