Я работаю над настольным приложением для входа и входа, и у меня проблема с mySQL.
Записи не сохраняются в моей таблице.
Вот мой код:
Connection dbConnection;
public Connection getConnection() throws ClassNotFoundException,
SQLException
{
String connectionString = "jdbc:mysql://" + dbHost + ":"
+ dbPort + "/"
+ dbName;
Class.forName("com.mysql.cj.jdbc.Driver");
dbConnection = DriverManager.getConnection(connectionString + "?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", dbUser, dbPass);
return dbConnection;
}
public void signUpSave(User user)
{
String insert = "INSERT INTO " + ConstData.LOGIN_TABLE + " (" +
ConstData.USER_NAME + "," + ConstData.USER_SURNAME + ","
+ ConstData.USER_LOGIN + "," + ConstData.USER_PASSWORD + ","
+ ConstData.USER_EMAIL + ") " + "VALUES(?,?,?,?,?)";
try{
PreparedStatement preparedStatement =
getConnection().prepareStatement(insert);
preparedStatement.setString(1,user.getUserName());
preparedStatement.setString(2,user.getUserSurname());
preparedStatement.setString(3,user.getUserLogin());
preparedStatement.setString(4,user.getUserPassword());
preparedStatement.setString(5,user.getUserEmail());
} catch (SQLException e)
{
e.printStackTrace();
} catch (ClassNotFoundException e)
{
e.printStackTrace();
}
Это строки, которые я использую в коде выше
protected String dbHost = "localhost";
protected String dbPort = "3306";
protected String dbUser = "root";
protected String dbPass = "root";
protected String dbName = "login";
Существует метод, который получает все строки из textFields
private void createUser()
{
DataBase dataBase = new DataBase();
String name = nameField.getText();
String lastName = surField.getText();
String userLogin = logField.getText();
String userPswd = pswField.getText();
String userMail = mailField.getText();
User user = new User(name, lastName, userLogin, userPswd, userMail);
dataBase.signUpSave(user);
}
Пользовательский класс - это просто класс с 5 строками, конструктором, 5x получателем и установщиком.