Re: Create single Database connection
 
Hi,
Even i agree that using a single connection is not a good approach as
any method which uses it can cuddle with it and it can create problems
for other classes/methods using the same connection... But still if u
wanna use it, u can use a singleton approach... The connection class
will be like this.. THis is not the full class... all methods which
connects to the database will come in that class...
public class MyConnection {
    /** The conn. Connection for Database.*/
    private Connection conn = null;
    private static MyConnection myConnection= null;
    private MyConnection(){
        try {
            // Loads the Class
            Class.forName("<classname>");
            String url = "url";
            String username = "username";
            String password = "password";
            conn = DriverManager.getConnection(url, username, password);
            conn.setAutoCommit(false);
        }
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public static MyConnection getConnection(){
        if(myConnection == null){
            myConnection = new MyConnection();
        }
        return myConnection;
    }
}
and in any method, u want to use the database connection, just create
an object of MyConnection and call its methods to use the database
with the same connection. though i still not recommend this...
On Oct 18, 6:36 am, franca...@yahoo.com wrote:
I would like to create a single Database connection point that I can
use for 4 classes in my Java Web Application.
Here is my ConnectionManager Class:
public class ConnectionManager {
    private static Connection activeConnection = null;
    public static Connection getConnection() {
        if (activeConnection = null) {
            Class.forName("OracleThinInfoHere...");
            activeConnection =
DriverManager.getConnection("jdbc:oracle:thin:@myname:1234:orcl",
"scott", "tiger");
);
        }
        return activeConnection;
    }
}
Now how would I access this in each one of my classes?
For example here is one:
public class MainClass
{
public ConnectionManager.getConnection(),
public Connection connection;
//I tried my db connection as this and it didnt return any results
public MainClass(connection)
{
     this.connection = ConnectionManager.getConnection();
}
public int matcher(BeanClass abc)
{
     try
     {
         new OtherDbClass(connection).insertDbMethod(abc);
     }
     catch(Exception e)
     {
         e.printStackTrace();
     }
     finally
     {
        //closing statements here
     }
OtherClass looks like this:
public class OtherClass {
   private Connection connection;
   public OtherClass(Connection connection)
   {
      this.connection = ConnectionManager.getConnection();
   }
public int insertDbMethod(BeanClass abc)
{
...
}
Please advise.