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.