接続オブジェクトを返すこのクラスを作成しました。私はMySQLデータベースを使用しています。アプリケーション全体で1つのデータベース接続オブジェクトを使用するにはどうすればよいですか?
public class Connect_db {
public Connection getConnection(String db_name,String user_name,String password)
{
Connection con=null;
try
{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/"+db_name+"?user="+user_name+"&password="+password);
}
catch(Exception e)
{
e.printStackTrace();
}
return con;
}
}
このクラスを一度インスタンス化して接続オブジェクトを取得するだけです。 そして、この同じオブジェクトをアプリケーション全体で使用したいと思います。 別の解決策も認められるであろう。あなたが考えなければならない、
Connect_db.getConnection().somemethods();
が、 - どのようにこの意志:あなたはこのような接続を使用することができるようになります
public class Connect_db {
static Connection con=null;
public static Connection getConnection()
{
if (con != null) return con;
// get db, user, pass from settings file
return getConnection(db, user, pass);
}
private static Connection getConnection(String db_name,String user_name,String password)
{
try
{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/"+db_name+"?user="+user_name+"&password="+password);
}
catch(Exception e)
{
e.printStackTrace();
}
return con;
}
}
:私はあなたがシングルトンパターンを必要とし
を使用することを検討してください。connection pools.http://stackoverflow.com/questions/2835090/jdbc-connection-pooling – kosa
依存性注入。オブジェクトを一度インスタンス化し、オブジェクトを必要とするすべてのメソッドに渡します。 – JRizz