• c3p0 数据连接池 流行开源


    注意事项:配置文件规定命名,不能更改   c3p0-config  

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
        <default-config>
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/day16</property>
            <property name="user">root</property>
            <property name="password">root</property>
        
            <property name="acquireIncrement">5</property>
            <property name="initialPoolSize">10</property>
            <property name="minPoolSize">5</property>
            <property name="maxPoolSize">20</property>
        </default-config>
        
    </c3p0-config>

    c3p0数据连接池

    package com.itheima.utils;
    
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    import javax.sql.DataSource;
    
    
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    public class C3P0Util {
    
        private static DataSource ds =new ComboPooledDataSource();
        
        /**
         * 用于从池中获取连接
         * @return
         */
        public static synchronized Connection getConneciton(){
            try {
                return ds.getConnection();
            } catch (SQLException e) {
                e.printStackTrace();
                throw new RuntimeException(e);
            }
        }
        
        //关闭资源
        public static void release(ResultSet rs,Statement st,Connection con ){
            try {
                if(rs!=null){
                    rs.close();
                    rs=null;//目的是让回收器立即进行垃圾回收
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            
            try {
                if(st!=null){
                    st.close();
                    st=null;
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            
            try {
                if(con!=null){
                    con.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        
        }
    }

    测试程序

    package com.itheima.test;
    
    import java.sql.Connection;
    import java.sql.Statement;
    
    import com.itheima.utils.C3P0Util;
    
    public class C3P0Test {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            Connection  con = null;
            Statement st = null;
        
            try {
                con =C3P0Util.getConneciton();
                //.....
                st = con.createStatement();
                st.executeUpdate("insert into account values(5,'cgx',100)");
                
                
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                C3P0Util.release(null, st, con);
            }
    
        }
    
    }
  • 相关阅读:
    ubuntu 10.04 install network bcm4418
    linux vi commend
    api
    ubuntu安装jdk
    maven常用命令介绍
    ubuntu 10.04 install oracle11g
    putty中文乱码问题解决
    SCP不需要密码
    java command
    Ubuntu vsftpd 安装配置
  • 原文地址:https://www.cnblogs.com/baijin05/p/5075003.html
Copyright © 2020-2023  润新知