पूरे Java एप्लिकेशन में एक ही डेटाबेस कनेक्शन ऑब्जेक्ट का उपयोग करने के लिए सिंगलटन डिज़ाइन पैटर्न का उपयोग करें।
ConnectDatabase.java
import java.sql.Connection;
import java.sql.DriverManager;
public class ConnectDatabase {
private static Connection conn = null;
public static Connection getConnection() {
if (conn != null) return conn;
String database = "test";
String username = "root";
String password = "123456";
return getConnection(database, username, password);
}
private static Connection getConnection(String databaseName, String userName, String password) {
try {
Class.forName("com.mysql.cj.jdbc.Driver"); // MySQL 8.0+ के लिए
conn = DriverManager.getConnection(
"jdbc:mysql://localhost/" + databaseName + "?user=" + userName + "&password=" + password + "&useSSL=false");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
CallConnection.java
import java.sql.Connection;
public class CallConnection {
public static void main(String[] args) {
Connection con = ConnectDatabase.getConnection();
if (con != null) {
System.out.println("Connection successful !!!");
}
}
}
आउटपुट
Connection successful !!!
सुधार सुझाव:
- MySQL 8.0+ के लिए ड्राइवर क्लास
com.mysql.cj.jdbc.Driverउपयोग करें - SSL चेतावनी से बचने के लिए
useSSL=falseजोड़ें - कनेक्शन पूल (HikariCP, DBCP) का उपयोग करना प्रोडक्शन के लिए बेहतर है
- थ्रेड-सेफ्टी के लिए
synchronizedयाvolatileका उपयोग करें