Вот мой код:
package com.company;
import java.sql.*;
import java.sql.Connection;
import java.util.ArrayList;
public class Database {
public Connection con;
public Database() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/user?useUnicode=true&serverTimezone=UTC", "root", "");
System.out.println("Connection success");
} catch (Exception e) {
e.printStackTrace();
}
}
public ArrayList<User> getUsers() {
ArrayList<User> users = new ArrayList<>();
try {
PreparedStatement ps = con.prepareStatement("SELECT * FROM users");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Long id = rs.getLong("id");
String login = rs.getString("login");
String password = rs.getString("password");
users.add(new User(id, login, password));
}
} catch (Exception e) {
e.printStackTrace();
}
return users;
}
public void AddUser(User user) {
try {
PreparedStatement ps = con.prepareStatement("INSERT INTO users(id, login, password) VALUES(NULL, ?, ?)");
ps.setString(1, user.getLogin());
ps.setString(2, user.getPassword());
System.out.println(ps.executeUpdate()); // rows moved
} catch (Exception e) {
e.printStackTrace();
}
}
public void updateLogin(Long id, String log) {
String s = "UPDATE users SET login = " + log + " WHERE id = " + id;
try {
PreparedStatement ps = con.prepareStatement(s);
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
public void updatePassword(Long id, String pas) {
String s = "UPDATE users SET password = " + pas + " WHERE id = " + id;
try {
PreparedStatement ps = con.prepareStatement(s);
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
public void removeUser(Long id) {
String s = "DELETE FROM users WHERE id = " + id;
try {
PreparedStatement ps = con.prepareStatement(s);
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Вот такая ошибка:
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at com.company.Database.<init>(Database.java:12)
at com.company.Main.main(Main.java:6)
Вам нужно в MySql утилите предоставить доступ. Исполюзуйте эту команду
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '%ваш пароль%' WITH GRANT OPTION;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хотел бы поинтересоваться, как добавлять данные в связанные таблицы одним запросомНа рисунке изображена схема БД
На сайте на разных страницах должен выводиться контент, редактируемый из админкиИ контент по своей структуре разный: на некоторых страницах...
У меня есть два набора файлов (основной и дополнительный) и я хотел бы держать их отдетьно друг от друга