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; } }