package dev.dao; import dev.database.DatabaseConnection; import dev.model.User; import java.sql.*; public class UserDao { public boolean save(User user) { String sql = "INSERT INTO users (username, password, email) VALUES (?, ?, ?)"; try(Connection conn = DatabaseConnection.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql)){ pstmt.setString(1, user.getUsername()); pstmt.setString(2, user.getPassword()); pstmt.setString(3, user.getEmail()); int affectedRows = pstmt.executeUpdate(); return affectedRows > 0; }catch (SQLException e) { System.err.println("Error saving user: " + e.getMessage()); return false; } } public User findByUsername(String username) { String sql = "SELECT * FROM users WHERE username = ?"; try(Connection conn = DatabaseConnection.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql)){ pstmt.setString(1, username); ResultSet rs = pstmt.executeQuery(); if (rs.next()){ return new User( rs.getInt("id"), rs.getString("username"), rs.getString("password"), rs.getString("email") ); } } catch (SQLException e) { System.err.println("Error finding user: " + e.getMessage()); } return null; } }