6

既存の Java EE ベースのアプリケーションに取り組んでいます。これは、データベースに接続するための次の方法を備えています。

public static java.sql.Connection connectionToDataBase(String jndiName,boolean flag)throws Exception 
{
DataSource ds =(javax.sql.DataSource) initCtx.lookup(jndiName);
return ds.getConnection();
    } catch (NamingException ne) {
            throw ne;
        } finally {
            try {
                if (initCtx != null)
                    initCtx.close();
            } catch (NamingException ne) {

                throw ne;
            }
        }
}

私の質問は、データベースへの接続に静的メソッドを使用することが正しいかどうかです。

4

2 に答える 2

4

関数を静的として定義したのはなぜですか?

それは間違っているわけではなく、非静的メソッドから静的メソッドを呼び出すことを禁止する規則もありません。定義上、非静的メソッドはクラスのインスタンスに属しますが、静的メソッドはクラス自体に属します。

静的メソッドを持つということは、DB に接続するためにクラスのインスタンスが必要ないということです。

あなたの質問に答えるには、おそらくクラスがカプセル化するものを検討する必要があります。クラスのインスタンスのみが DB に接続できるようにしますか? または、クラスのインスタンスへの参照なしでDB に接続できるようにしたいですか?

于 2012-07-13T14:06:13.777 に答える
0

Connection-Pool または Entity-Manager を使用できる場合は、それらを使用することをお勧めします!

于 2012-07-13T14:15:45.280 に答える