Я пытаюсь соединить проект Neteans Java с базой данных Mysql и я не могу установить соединение и я не знаю, что может пойти неправильно кодConnect Java с Mysql
Мои Java:
private void setupLoginEventListener() {
loginBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
rightFirstText = userName.getText();
rightText = password.getPassword();
if (rightFirstText.isEmpty() && rightText.length == 0) {
JOptionPane.showMessageDialog(JavaApplication6.this, "All fields are required", "Error", JOptionPane.ERROR_MESSAGE);
} else if (rightText.length == 0) {
JOptionPane.showMessageDialog(JavaApplication6.this, "Password is required", "Error", JOptionPane.ERROR_MESSAGE);
} else {
try {
conn = getDBConnection();
pst = conn.prepareStatement("select * from pdie where username =? and password=?");
pst.setString(1, rightFirstText);
pst.setString(2, new String(rightText));
rs = pst.executeQuery();
while (rs.next()) {
JOptionPane.showMessageDialog(JavaApplication6.this, "Login Successfull");
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(JavaApplication6.this, "Login Failed");
}
}
}
});
}
public Connection getDBConnection() {
Connection con = null;
String url = "jdbc:mysql://localhost:3536/";
String dbName = "projectdb";
String driver = "com.mysql.jdbc.Driver";
String connectUserName = "root";
String connectPassword = "";
try {
Class.forName(driver);
con = DriverManager.getConnection(url + dbName, connectUserName, connectPassword);
System.out.println("CONNECTION ESTABLISHED.");
} catch (ClassNotFoundException | SQLException e) {
System.out.println("CONNECTION COULD NOT BE ESTABLISHED.");
}
return con;
}
есть идеи?
это дает мне ошибку для исключения нулевого указателя в этой строке
pst = conn.prepareStatement("select * from pdie where username =? and password=?");
У вас есть установленный драйвер? –
Скорее всего, 'getDBConnection' вернул' null', потому что было обнаружено исключение. Вместо того, чтобы печатать сообщение «ПОДКЛЮЧЕНИЕ НЕ МОЖЕТ БЫТЬ УСТАНОВЛЕНА», напечатайте сообщение об ошибке 'e.getMessage()', которое должно сообщить вам, что пошло не так. – rgettman
Когда вы получаете исключение: 1. Не просто печатайте сообщение об ошибке своего собственного проекта. Распечатайте исключение. В противном случае отладка станет простой гадательной игрой. 2. Не просто продолжайте потом, как будто этого не произошло. Код, который зависит от успеха кода в блоке try, должен находиться внутри блока try. В этом случае вы не должны улавливать эти исключения внутри этого метода. – EJP