Passing around Connection
There are a number of problems with your code. Let's go through the more important ones:


you should close the PreparedStatement before you return the connection to the pool.... should be:

finally{
    closeStatement (preparedStmt);
    releaseConnection (myCon);
}

you should be closing the ResultSet in addition to the Statement!
but, this is all somewhat pointless because you only use your prepared statement once.... A prepared statement is useful for two reasons only:

they separate issues in syntax from issues in data (you get syntax errors early) ... but, your SQL Query code will not have syntax errors... right?
they improve performance IF THEY ARE REUSED, but you are not reusing them.

If you are using Java 7 you should be using try-with-resources logic on your objects. This will remove the need for the finally block.


JDBC Connection pools are relatively complicated 'animals'. I strongly recommend you leverage the functionality that others have built. For example, Tomcat, WebSphere and I am sure other applications servers have good connection-pooling processes. Additionally, stand-alone applications can (re)use things like the Apache DBCP component (which also supports PreparedStatement connection pools)