数据源的编写(开发中不写)、使用动态代理覆写Connection的close方法(二)

2014-11-23 23:12:10 · 作者: · 浏览: 29
ntStackTrace(); } } } }


测试:

package com.jxnu.pool04;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

import org.junit.Test;

public class Dao1Impl {
	MyDataSource ds = new MyDataSource();
	@Test
	public void add(){
		Connection conn  = null;
		Statement stmt = null;
		try{
			conn = ds.getConnection();
			stmt = conn.createStatement();
			//com.mysql.jdbc.Connection     :MySQL
			//com.oracle.jdbc.Connection    :Oracle
			//...
			System.out.println(conn.getClass().getName());
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			if(conn!=null){
				try {
					conn.close();//把连接给关了。不应该关,放回池中,怎么放回池中呢?连接池重点所在
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
	}
}