现在的位置: 首页 > 综合 > 正文

借助C3P0连接池访问dept表

2013年10月06日 ⁄ 综合 ⁄ 共 1261字 ⁄ 字号 评论关闭

C3P0 连接池的性能比之DBCP要更胜一筹,Hibernate就推荐使用该连接池。C3P0连接池不仅可以自动清理不再使用的Connection,还可以自动清理Statement和ResultSet。

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class C3P0_JDBC {

	public static void main(String[] args) {
		
		ComboPooledDataSource ds=new ComboPooledDataSource();
		Connection conn=null;
		
		try {
			ds.setDriverClass("oracle.jdbc.driver.OracleDriver");
			ds.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:orcl");
			ds.setUser("scott");
			ds.setPassword("tiger");
			ds.setMaxPoolSize(40);
			ds.setMinPoolSize(2);
			ds.setInitialPoolSize(10);
			ds.setMaxStatements(100);
			
			conn=ds.getConnection();//通过数据源获取数据库连接 
			Statement stmt=conn.createStatement();
			ResultSet rs=stmt.executeQuery("select * from dept");
			while(rs.next()){
				int deptno=rs.getInt("deptno");
				String dname=rs.getString("dname");
				String loc=rs.getString("loc");
				System.out.println(deptno+"\t"+dname+"\t"+loc);
			}
		} catch (PropertyVetoException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		
	}

}

public final class ComboPooledDataSource extends AbstractPoolBackedDataSource implements PooledDataSource
public interface PooledDataSource extends DataSource

抱歉!评论已关闭.