關於資料庫連線的一些小問題

yuanhai21發表於2008-12-11


由於經常用到資料庫的連線,所以想做成一個單獨的類以方便呼叫
由於接觸了一點singleton,於是想這麼做下,因為於資料庫的連線
只需要一次執行就可以了


Java程式碼
import java.sql.Connection;
import java.sql.DriverManager;

public class ConnectToJdbc {
private static Connection conn = null;
private static ConnectToJdbc instance = new ConnectToJdbc();

private ConnectToJdbc(){
try {
// The newInstance() call is a work around for some
// broken Java implementations
Class.forName("com.mysql.jdbc.Driver");
System.out.println("class loaded!");
conn =
DriverManager.getConnection("jdbc:mysql://localhost/mydata?user=root&password=wakcmr");
System.out.println("connection successfully");
} catch (Exception ex) {
ex.printStackTrace();
}
}

public static ConnectToJdbc getInstance(){
return instance;
}

public Connection getConnection(){
return conn;
}
}


奇怪的是每次我在其他的類裡面用到
Connection conn = ConnectToJdbc.getInstance().getConnection();
語句的時候,都會在控制檯列印出
"class loaded " ," connection successfully"
應該來說,有了一個例項後,再次呼叫時不應該再初始化了
覺得很有疑問,請各位指點下,或者說應該怎麼樣去實現這個功能比較好

相關文章