首页 > 解决方案 > 如何实现管理连接的连接?

问题描述

假设有这个动作:

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)静态方法 public static Connection 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;
    }
}

哪个是最好的方法?

标签: javasingletondatabase-connectionstatic-methods

解决方案


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


推荐阅读