希望以下代码供你参考:
import java.sql.*;
import javax.sql.DataSource;import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/** 
* The ConnectionManager manages the Database Connectin pool, Right now we
* have the fixed connection pool only, we will add a dynamic connection pool
* and add one poll monitor to dynamic add remove connection according the 
* loading balance.
*
*/
public class ConnectionManager
{    private static DataSource dataSource = null;    
        
    private static void init() throws SQLException
    {
        try{
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
  dataSource = (DataSource) envContext.lookup("jdbc/MyDataSource");
        }  
        catch (NamingException ne)
        {
            throw new SQLException("NamingException,reason:"+ne.getMessage());
        }
    }
    
    public static DBConnection getConnection() throws SQLException
    {           
        if (dataSource == null)
            init();
        return new DBConnection(dataSource.getConnection());
    }
    
    /** return the DBConnection */
    public void returnConnection(Connection conn)         
    {
        try
        {
            conn.close();
        }
        catch (SQLException ex){}
    }    public void returnConnection(Connection conn, ResultSet result)         
    {
         // close resources 
        try 
        {
            result.close();
        }
        catch (SQLException ex) {}        try
        {
            conn.close();
        }
        catch (SQLException ex){}
    }}