Bad idea. Both the idea of the singleton and keeping the connection open forever are bad idea´s. Singletons are in no way OO and keeping the connection open forever will cause your application to crash when the DB closes the connection because it is opened too long and thus timed out.
Just acquire and close the connection in shortest possible scope. Open it right before creating the statement and close it right after closing the statement. To improve general performance, use connection pooling. If you´re running a web application on an application server, consult the appserver specific documentation how to create datasources. If you´re running a simple client application, look for connection pooling API´s like DBCP, C3P0 and Proxool.