zoukankan      html  css  js  c++  java
  • C3P0数据源的使用

    1.C3P0数据源的使用

        C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0有自己的格式文件,如下

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
      <default-config>
          <property name="driverClass">com.mysql.jdbc.Driver</property>
          <property name="jdbcUrl">jdbc:mysql:///day05</property>
          <property name="user">root</property>
          <property name="password">root</property>
        <property name="initialPoolSize">10</property>
        <property name="maxIdleTime">30</property>
        <property name="maxPoolSize">100</property>
        <property name="minPoolSize">10</property>
      </default-config>
    </c3p0-config>
    1. 导jar包:
    2. 建立c3p0连接
    package com.beiwo.day05.util;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import javax.sql.DataSource;
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    public class C3P0Util {
    	
    	//C3P0数据源
    	private static ComboPooledDataSource dataSource=new ComboPooledDataSource();
    	
    	public static DataSource getDataSource() {
    		return dataSource;
    	}
    	
    	
    	public static Connection getConn(){
    		try {
    			return dataSource.getConnection();
    		} catch (SQLException  e) {
    			throw new  RuntimeException(e);
    		}
    	}
    	
    	public static Connection getConn2(){
    		Connection conn=null;
    		
    		try {
    			conn=dataSource.getConnection();
    		} catch (Exception  e) {
    			e.printStackTrace();
    		}
    		
    		return conn;
    	}
    	
    	//释放连接
    	public static void realease(ResultSet rs,Statement stmt,Connection conn){
    		try {
    			if(null!=rs){
    				rs.close();
    			}
    		} catch (Exception e) {
    			// TODO: handle exception
    		}
    		try {
    			if(null!=stmt){
    				stmt.close();
    			}
    		} catch (Exception e) {
    			// TODO: handle exception
    		}
    		try {
    			if(null!=conn){
    				conn.close();
    			}
    		} catch (Exception e) {
    			// TODO: handle exception
    		}
    	}
    }
    

         

    測試C3P0的使用

    package com.beiwo.day05.test;
    import java.sql.Connection;
    import org.junit.Test;
    import com.beiwo.day05.util.C3P0Util;
    
    public class TestC3P0 {
    
    	@Test
    	public void testC3P0(){
    		Connection connection = C3P0Util.getConn();
    		System.out.println(connection.getClass().getName());
    		C3P0Util.realease(null, null, connection);
    	}
    }
    
  • 相关阅读:
    程序猿也爱学英语(上),有图有真相
    时间&物质&效率
    20130722
    Java数组操作工具
    小学课文《挑山工》
    字符编解码的故事(ASCII,ANSI,Unicode,Utf-8区别)
    String[]转化暴露“思维误区”
    2017.9.17 小测试小整理
    Noip2016 提高组 Day1
    luogu P2585 [ZJOI2006]三色二叉树
  • 原文地址:https://www.cnblogs.com/houjiie/p/6192557.html
Copyright © 2011-2022 走看看