73 lines
1.8 KiB
Java
73 lines
1.8 KiB
Java
package dev.dao;
|
|
|
|
import dev.database.DatabaseConnection;
|
|
import dev.model.User;
|
|
|
|
import java.sql.Connection;
|
|
import java.sql.PreparedStatement;
|
|
import java.sql.ResultSet;
|
|
import java.sql.SQLException;
|
|
|
|
public class UserDao {
|
|
|
|
public boolean save(User user) {
|
|
|
|
String sql = "INSERT INTO users (username, password, email) VALUES (?, ?, ?)";
|
|
|
|
try (
|
|
Connection connection = DatabaseConnection.getConnection();
|
|
PreparedStatement statement = connection.prepareStatement(sql)
|
|
) {
|
|
|
|
statement.setString(1, user.getUsername());
|
|
statement.setString(2, user.getPassword());
|
|
statement.setString(3, user.getEmail());
|
|
|
|
int rows = statement.executeUpdate();
|
|
|
|
return rows > 0;
|
|
|
|
} catch (SQLException e) {
|
|
|
|
System.out.println("Error saving user: " + e.getMessage());
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public User findByUsername(String username) {
|
|
|
|
String sql = "SELECT id, username, password, email FROM users WHERE username = ?";
|
|
|
|
try (
|
|
Connection connection = DatabaseConnection.getConnection();
|
|
PreparedStatement statement = connection.prepareStatement(sql)
|
|
) {
|
|
|
|
statement.setString(1, username);
|
|
|
|
ResultSet resultSet = statement.executeQuery();
|
|
|
|
if (resultSet.next()) {
|
|
|
|
User user = new User();
|
|
|
|
user.setId(resultSet.getInt("id"));
|
|
user.setUsername(resultSet.getString("username"));
|
|
user.setPassword(resultSet.getString("password"));
|
|
user.setEmail(resultSet.getString("email"));
|
|
|
|
return user;
|
|
}
|
|
|
|
} catch (SQLException e) {
|
|
|
|
System.out.println("Error finding user: " + e.getMessage());
|
|
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
} |