Tôi đang cố gắng xác định xem tôi có thực sự đang sử dụng kết nối JDBC hay không. Sau khi thực hiện một số nghiên cứu, việc triển khai gần như có vẻ quá dễ dàng. Dễ dàng hơn một kết nối thông thường trong thực tế vì vậy tôi muốn xác minh.Tôi có đang sử dụng kết nối JDBC không?
Đây là lớp kết nối của tôi:
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();
}
}
là kết nối này tổng hợp đúng không? Tôi đang sử dụng kết nối trong lớp khác như vậy:
//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);
}
Xin lỗi, cảm ơn bạn đã viết lại. Trợ giúp hoàn hảo cho người mới như tôi. – ryandlf
giải pháp này sẽ là threadsafe? Tôi có cần phải gọi connection.close(); – swapyonubuntu
@swapyonubuntu: đóng được tự động thực hiện với câu lệnh 'try-with-resources' Java7 mới https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html – BalusC