Estoy tratando de determinar si realmente estoy usando la agrupación de conexiones JDBC. Después de investigar, la implementación parece demasiado fácil. Más fácil que una conexión normal, de hecho, me gustaría verificarlo.¿Estoy utilizando la agrupación de conexiones JDBC?
Aquí es mi clase de conexión:
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();
}
}
Es esto cierto agrupación de conexiones? Estoy utilizando la conexión en otra clase como tal:
//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);
}
Wow, gracias por la reescritura también. Ayuda perfecta para alguien nuevo como yo. – ryandlf
¿Esta solución será segura? ¿Debo llamar a connection.close(); – swapyonubuntu
@swapyonubuntu: close se hace automáticamente con la nueva declaración de Java7 'try-with-resources' https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html – BalusC