मैं यह निर्धारित करने की कोशिश कर रहा हूं कि मैं वास्तव में जेडीबीसी कनेक्शन पूलिंग का उपयोग कर रहा हूं या नहीं। कुछ शोध करने के बाद, कार्यान्वयन लगभग बहुत आसान लगता है। वास्तव में नियमित कनेक्शन से आसान है इसलिए मैं सत्यापित करना चाहता हूं।क्या मैं जेडीबीसी कनेक्शन पूलिंग का उपयोग कर रहा हूं?
यहाँ मेरी कनेक्शन वर्ग है:
public class DatabaseConnection {
Connection conn = null;
public Connection getConnection() {
BasicDataSource bds = new BasicDataSource();
bds.setDriverClassName("com.mysql.jdbc.Driver");
bds.setUrl("jdbc:mysql://localhost:3306/data");
bds.setUsername("USERNAME");
bds.setPassword("PASSWORD");
try{
System.out.println("Attempting Database Connection");
conn = bds.getConnection();
System.out.println("Connected Successfully");
}catch(SQLException e){
System.out.println("Caught SQL Exception: " + e);
}
return conn;
}
public void closeConnection() throws SQLException {
conn.close();
}
}
यह सच कनेक्शन पूलिंग है? मैं इतनी के रूप में एक और कक्षा में कनेक्शन का उपयोग कर रहा हूँ:
//Check data against database.
DatabaseConnection dbConn = new DatabaseConnection();
Connection conn;
ResultSet rs;
PreparedStatement prepStmt;
//Query database and check username/pass against table.
try{
conn = dbConn.getConnection();
String sql = "SELECT * FROM users WHERE username=? AND password=?";
prepStmt = conn.prepareStatement(sql);
prepStmt.setString(1, user.getUsername());
prepStmt.setString(2, user.getPassword());
rs = prepStmt.executeQuery();
if(rs.next()){ //Found Match.
do{
out.println("UserName = " + rs.getObject("username") + " Password = " + rs.getObject("password"));
out.println("<br>");
} while(rs.next());
} else {
out.println("Sorry, you are not in my database."); //No Match.
}
dbConn.closeConnection(); //Close db connection.
}catch(SQLException e){
System.out.println("Caught SQL Exception: " + e);
}
वाह, फिर भी लिखने के लिए धन्यवाद। मेरे जैसे नए व्यक्ति के लिए बिल्कुल सही मदद। – ryandlf
क्या यह समाधान थ्रेडसेफ होगा? क्या मुझे कनेक्शन.क्लोज़() को कॉल करने की आवश्यकता है; – swapyonubuntu
@swapyonubuntu: स्वचालित रूप से नए जावा 7 'प्रयास-संसाधनों' कथन के साथ बंद किया जाता है https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html – BalusC