如何实现管理连接的连接?

时间:2018-08-04 09:45:37

标签: java singleton database-connection static-methods

假设要执行此操作:

Client-->Connection Handles-->(<--)connection poll

仅创建连接池,并且Connection Hanldes仅采用连接对象。 我的问题是:哪种是实现连接句柄的最佳方法?

1)单身人士

private static SingletonConnection s = null;

private SingletonConnection() {}

public static SingletonConnection getInstance() {
 if (s != null) {
  return s;
 } else {
  s = new SingletonConnection();
  return s;
 }
}
public Connection getStartConnection() {
 InitialContext initialContext = new InitialContext();
        javax.sql.DataSource ds = (javax.sql.DataSource) initialContext
                .lookup("jdbc/mysqldb");
        java.sql.Connection conn = ds.getConnection();
}

2)静态方法 公共静态连接getStartConnection(){

InitialContext initialContext = new InitialContext();
        javax.sql.DataSource ds = (javax.sql.DataSource) initialContext
                .lookup("jdbc/mysqldb");
        java.sql.Connection conn = ds.getConnection();
        return conn;

}

3)普通班MyOperation m=new MyOperation();

public class MyOperation(){

    private Connection connection;
    public MyOperation(){

    InitialContext initialContext = new InitialContext();
            javax.sql.DataSource ds = (javax.sql.DataSource) initialContext
                    .lookup("jdbc/mysqldb");
            java.sql.Connection conn = ds.getConnection();
           connection=conn;
    }
}

哪种方法最好?

1 个答案:

答案 0 :(得分:0)

如果句柄的唯一用途是在没有上下文的情况下传输连接引用,为简便起见,我建议使用静态方法。但是,如果上下文变得重要,那么单例实用程序类可能会有用。